iPhone-将图标和文本设置为UILabel

iPhone-将图标和文本设置为UILabel,iphone,ios,cocoa-touch,fonts,uibutton,Iphone,Ios,Cocoa Touch,Fonts,Uibutton,假设图标是Apple符号或Zapf Dingbats字体字符,是否有办法在UILabel的文本标签中显示“任意图标+文本” 这样,文本的本地化将自动使整个内容居中,并根据其大小调整图标在标签中的位置 类似这样的内容: 我会有一个背景图像和覆盖在它的图标+文本标签 我不想在按钮中放置图像 编辑 我将这个问题仅限于UILabel,因为它要求同样的东西为UIButton工作,并生成大量断章取义的答案。如果将UIButton样式设置为“自定义”,并将图标图像设置为背景(而不是图像),设置标题时,您将能够

假设图标是Apple符号或Zapf Dingbats字体字符,是否有办法在UILabel的文本标签中显示“任意图标+文本”

这样,文本的本地化将自动使整个内容居中,并根据其大小调整图标在标签中的位置

类似这样的内容:
我会有一个背景图像和覆盖在它的图标+文本标签

我不想在按钮中放置图像

编辑
我将这个问题仅限于UILabel,因为它要求同样的东西为UIButton工作,并生成大量断章取义的答案。

如果将UIButton样式设置为“自定义”,并将图标图像设置为背景(而不是图像),设置标题时,您将能够看到标题。

如果将UIButton样式设置为“自定义”,并将图标图像设置为背景(而非图像),则设置标题时,您将能够看到标题。

您可以创建一个符合您需要的视图,并覆盖一个自定义的不可见按钮


作为替代方案,您可以将
UIButton
子类化

您可以创建一个符合您需要的视图,并覆盖一个自定义的不可见按钮


作为替代方案,您可以将
UIButton
子类化

尝试:
label.backgroundColor=[uicolorWithPatternImage:image]

尝试:
label.backgroundColor=[uicolorWithPatternImage:image]

看看这个swift项目:如果你能把你的符号放到UIImage中,它应该做你想做的事。

看看这个swift项目:如果你能把你的符号放到UIImage中,它应该做你想做的事。

你可以用attributedText(iOS>=7)来做


您可以使用AttributeText(iOS>=7)执行此操作


您可以从控件属性检查器的对齐部分对齐图标右侧的文本。这不是问题所在。我不想手动对齐任何东西。你好,我搞错了。您可以编辑您的答案以“解锁”它吗?您可以从控制属性检查器的对齐部分对齐图标右侧的文本。这不是问题。我不想手动对齐任何东西。你好,我搞错了。你能把你的答案编辑成“解锁”吗?这似乎与问题不符,或者你应该更详细一点。制作满足我需求的“某物”并没有帮助。我以为您知道如何将子视图添加到视图中。它只是
addSubview
。剩下的应该是显而易见的。好吧,但即使我添加了一个子视图,它也不会告诉我如何将图标显示为文本。这似乎与问题不匹配,或者你应该更详细一点。制作满足我需求的“某物”并没有帮助。我以为您知道如何将子视图添加到视图中。它只是
addSubview
。剩下的应该是显而易见的。好吧,但即使我添加了一个子视图,这也不能告诉我如何将图标显示为文本。哎哟,这真的很棘手:-!)!我稍后再试。你试过了吗?哎哟,这真的很棘手:-)!我稍后再试。你试过了吗?
NSTextAttachment *attachment = [[NSTextAttachment alloc] init];
attachment.image = [UIImage imageNamed:@"icon.png"];

NSAttributedString *attachmentString = [NSAttributedString attributedStringWithAttachment:attachment];

NSMutableAttributedString *myString= [[NSMutableAttributedString alloc]     initWithString:@"text bla bla bla"];
[myString appendAttributedString:attachmentString];

self.label.attributedText = myString;