我在xib文件中定义了UIImageView
(uiv1
)和Label
(lab1
)。从逻辑上讲,我有一个固定的数组,我希望在uiv1
上显示不同长度的文本。事情是,现在,我可以使lab1
足够长以容纳我最长的字符串,但是在某些时候我可能需要动态确定字符串长度并相应地更新lab1
。如何更新lab1
的尺寸以使其显示更长的文字?是否有另一种方法在UIImageView
上覆盖文字?我还关闭了自动布局以解决与uiv1
相关的另一个问题,即在更新背景图像(可能相关?)时重置它的位置。
答案 0 :(得分:1)
这是在imageView上叠加文字的好方法...您可以使用以下内容获得预期的文字长度,然后更新lab1.frame
以匹配正确的尺寸。
NSString *someString = @"Hello World";
UIFont *yourFont = // [UIFont ...]
CGSize stringBoundingBox = [someString sizeWithFont:yourFont];
该尺寸会为您提供stringBoundingBox.height
和stringBoundingBox.width