-1

在 Windows 世界中,您可以这样做来获取文本宽度:

SIZE size;
GetTextExtentPoint(DC, "hello", strlen("hello"), &size)
printf("x = %i y = %i\n", size.x, size.y);
    // will print x = 30, y = 15 (for instance)

如果我手头有 UIView 句柄,如何在 iOS 上轻松做到这一点?

4

1 回答 1

2

对于 iOS(我会让更熟悉 Android 开发的人回答第二部分),您需要使用sizeWithFont:. 根据您是否希望允许多行,您应该查看我链接的文档中解释的各种方法。

我通常发现最有用的一个是sizeWithFont:constainedToSize:我将约束大小设置为视图中可用的有限宽度,并将高度设置为CGFLOAT_MAX,这允许标签根据需要使用尽可能多的垂直空间(因为我经常有垂直滚动视图中的标签)。

于 2013-03-07T10:02:28.007 回答