我创建了一个游戏对象,它充当我动态填充的 UIGrid 的重复项。游戏对象(RowItem)有几个 UILabel,其文本可以根据内容在运行时更改。当文本变大时,这些 UILabel 的内容会重叠。当文本更多/更少时,任何人都可以帮助我如何使 UILabel 相对于相邻的 UILabel 扩展?
问问题
2171 次
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.localScale
的UILabel
属性对其进行缩放。当文本大于20个字符时,只需将它们放大即可。尝试使用任意值。
此外,当您更改比例时,请运行重新对齐方法,该方法对齐其他标签,使它们不重叠。
于 2013-03-22T08:35:29.343 回答