将背景图像添加到UILabel

时间:2010-12-29 17:22:43

标签: iphone objective-c ipad ios uikit

我正在尝试将UIImageView添加到UILabel的子视图中,但出于某种原因,我无法将其作为背景,因为这将覆盖实际的标签文本。

我不想将UILabel的背景颜色设置为因为它将作为模式重复:

[self setBackgroundColor: [UIColor colorWithPatternImage:[UIImage imageNamed:@"someBg.png"]]];

查看原始UILabel的子视图数量,看起来文本不是UIView,因此将子视图添加到索引0也无济于事。

我需要将文字放在图像背景的顶部。

有什么想法吗?

2 个答案:

答案 0 :(得分:5)

您的选择:

  • 将标签和背景图片视图换行到另一个容器视图中。
  • 编写支持背景图像的自己的标签类。

答案 1 :(得分:1)

无论如何,我通过继承UITextField并将子视图添加到其中来解决了这个问题。这是有效的,因为在这个控件中实际上有一个UILabel子视图,并在它后面添加它自然地解决了这个问题。

此外,我禁用了用户互动,因此它的行为类似于标签。