0

我在 xib 文件中定义了UIImageView( uiv1) 和Label( )。lab1从程序上讲,我有一个固定数组,其中包含不同长度的文本,我想显示为覆盖在uiv1. 事情是,现在,我可以制作lab1足够长的时间来容纳我最长的字符串,但是在以后的某个时候,我可能需要即时确定字符串长度并lab1相应地更新。如何更新尺寸lab1以使其显示更长的文本?是否有另一种在 a 上覆盖文本的方法UIImageView?我还关闭了自动布局以解决另一个与uiv1更新背景图像时重置其位置相关的问题(可能相关?)。

4

1 回答 1

1

这是在 imageView 上覆盖文本的好方法......您可以使用以下内容获得预期的文本长度,然后更新lab1.frame以匹配正确的大小。

NSString *someString = @"Hello World";
UIFont *yourFont = // [UIFont ...]
CGSize stringBoundingBox = [someString sizeWithFont:yourFont];

尺寸会给你stringBoundingBox.heightstringBoundingBox.width

于 2013-08-26T20:28:37.720 回答