我在xib文件中定义了UIImageView
(uiv1
)和Label
(lab1
)。在程序上,我有一个固定的数组,其中有不同长度的文本,我想显示为覆盖在uiv1
上。问题是,目前,我可以使lab1
足够长,以容纳我最长的字符串,但在未来的某个时候,我可能需要动态确定字符串长度,并相应地更新lab1
。如何更新lab1
的尺寸以使其显示更长的文本?有没有其他方法可以在UIImageView
上覆盖文本?我还关闭了自动布局,以解决uiv1
在更新背景图像时重置其位置的另一个问题(可能相关?)。
这是在imageView上覆盖文本的好方法。。。您可以使用以下内容获得预期的文本长度,然后更新lab1.frame
以匹配正确的大小。
NSString *someString = @"Hello World";
UIFont *yourFont = // [UIFont ...]
CGSize stringBoundingBox = [someString sizeWithFont:yourFont];
该大小将为您提供stringBoundingBox.height
和stringBoundingBox.width