首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >游戏对象中的相对UILabel

游戏对象中的相对UILabel
EN

Stack Overflow用户
提问于 2013-03-22 11:07:46
回答 2查看 2.2K关注 0票数 0

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

EN

回答 2

Stack Overflow用户

发布于 2013-03-22 16:35:29

你可以使用UILabel属性的transform.localScale属性来缩放它。当文本超过20个字符时,将它们放大。尝试使用任意值。

此外,当您更改比例时,运行重新对齐方法,该方法会对齐其他标签,使它们不会重叠。

票数 0
EN

Stack Overflow用户

发布于 2013-03-25 14:50:37

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

代码语言:javascript
运行
复制
UILabel label;
float width = label.relativeSize.x * label.transform.localScale.x;
float height = label.relativeSize.y * label.transform.localScale.y;

假设你想设置你的最大长度为100,你可以这样做:

代码语言:javascript
运行
复制
if (width > 100)
{
    label.localScale = new Vector3(100 / label.relativeSize.x, 100/ label.relativeSize.x, 1);
}

Vector3的第二个参数也是基于相对大小。x不是一个拼写错误,这可以确保你的文本不会变细。

希望这能起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15562031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档