如何调整TTStyledTextLabel的宽度?
我正在 iOS 上实现一个 IM 应用程序。我发现 Three20 库有一个 TTStyledTextLabel,它提供了很酷的功能,例如显示图像和 url 链接。不过,我想将 TTStyledTextLabel 嵌入到消息气泡中(就像 iPhone 附带的短信应用程序一样),其中我需要标签根据文本长度调整其大小。我发现TTStyledTextLabel可以根据宽度调整其高度,但我不知道当文本很短并且无法填满整行时如何使其水平收缩。有什么建议吗?
I am implementing an IM app on iOS. I found that three20 library has a TTStyledTextLabel which provides cool features like showing images and url links. However I want to embed the TTStyledTextLabel in a message bubble (just like the sms app shipped with iphone does), where I need the label to adjust its size according to the text length. I found that TTStyledTextLabel can adjust its height according to its width, but I don't know how to make it shrink horizontally when the text is very short and can't fill up a whole line. Any suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为我有一个稍微更好的解决方案:我获取 ttstyledtext 的 rootFrame 并迭代其同级框架以找到最大宽度。
它的工作原理如下:
I think I have a slightly better solution: I get the rootFrame of the ttstyledtext and iterate over its sibling frames to find the max width.
It works like this:
我尝试通过将尺寸中的宽度参数增量传递给 sizeToFit 并查看结果高度来给出尺寸是否合适的提示。 来说并不是一个优雅的解决方案
但这对于 (int index = 100;index < 320;index=index+30)
{
标签.宽度=x;
if (标签高度 < 20)
休息;
}
I tried doing it by incrementally passing the width parameter in size to sizeToFit and looking at the resulting height to give cues in terms of whether the size is ok. But this is not a elegant solution
for (int index = 100; index < 320; index= index+30)
{
label.width = x;
if (label.height < 20)
break;
}