如何在Swift中将UIImage嵌入UILabel?

时间:2015-07-04 03:11:52

标签: ios swift uiimage uikit uilabel

我想制作一个UILabel(用于照片标签),右上角有一个小x图标,这样当我点击x时,UILabel就会消失。

我发现这是将图像嵌入ui标签的一种方法:

var attachment = NSTextAttachment()
attachment.image = UIImage(named: "rsz_cancel30.png")
var attachmentString = NSAttributedString(attachment: attachment)
var myString = NSMutableAttributedString(string: labelString)
myString.appendAttributedString(attachmentString)
uiLabel.attributedText = myString`

但是,当我尝试使用uiLabel.sizetoFit()时,它的大小适合"图像,因此标签变为小方形图标的大小,而不是文本和uiimage。

2 个答案:

答案 0 :(得分:0)

原来我愚蠢地拥有了这条线

uiLabel.text = labelString

无论出于什么原因评论。

答案 1 :(得分:-1)

您应该创建一个包含UILabel和UIImageView的 UIContainerView ,而不是尝试将图像嵌入到UILabel中。这样,您可以使用“自动布局”使自动调整大小,以便能够以编程方式创建视图。

您可以在Container Views here找到一本优秀的教程。为了sumarize,尝试:

  1. 将容器视图拖到故事板
  2. 为新的UIViewController创建一个新类
  3. 将UILabel和UIImageView置于内部,自动布局
  4. 连接一个ember segue,自动布局