0

我创建了一个游戏对象,它充当我动态填充的 UIGrid 的重复项。游戏对象(RowItem)有几个 UILabel,其文本可以根据内容在运行时更改。当文本变大时,这些 UILabel 的内容会重叠。当文本更多/更少时,任何人都可以帮助我如何使 UILabel 相对于相邻的 UILabel 扩展?

4

2 回答 2

0

您可以通过以下方式获取以像素为单位的文本长度:

UILabel label;
float width = label.relativeSize.x * label.transform.localScale.x;
float height = label.relativeSize.y * label.transform.localScale.y;

假设您要将最大长度设置为 100,您可以这样做:

if (width > 100)
{
    label.localScale = new Vector3(100 / label.relativeSize.x, 100/ label.relativeSize.x, 1);
}

Vector3 的第二个参数也基于 relativeSize.x 不是错字,这确保您的文本不会变薄。

希望这有效。

于 2013-03-25T06:50:37.250 回答
0

您可以使用's 属性transform.localScaleUILabel属性对其进行缩放。当文本大于20个字符时,只需将它们放大即可。尝试使用任意值。
此外,当您更改比例时,请运行重新对​​齐方法,该方法对齐其他标签,使它们不重叠。

于 2013-03-22T08:35:29.343 回答