将文本标签覆盖到Xib中定义的UIImageView



我在xib文件中定义了UIImageViewuiv1)和Labellab1)。在程序上,我有一个固定的数组,其中有不同长度的文本,我想显示为覆盖在uiv1上。问题是,目前,我可以使lab1足够长,以容纳我最长的字符串,但在未来的某个时候,我可能需要动态确定字符串长度,并相应地更新lab1。如何更新lab1的尺寸以使其显示更长的文本?有没有其他方法可以在UIImageView上覆盖文本?我还关闭了自动布局,以解决uiv1在更新背景图像时重置其位置的另一个问题(可能相关?)。

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

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

该大小将为您提供stringBoundingBox.heightstringBoundingBox.width

最新更新