【问题标题】:iPhone - Setting an icon AND a text into a UILabeliPhone - 将图标和文本设置为 UILabel
【发布时间】:2011-12-19 11:05:42
【问题描述】:

如果图标是 Apple 符号或 Zapf Dingbats 字体字符,有没有办法在 UILabel 的文本标签中显示“任何图标 + 文本”

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

类似这样的东西:http://www.chocolatechip-ui.com/screenshots/buttons.png
我将有一个背景图像并在其上覆盖图标+文本标签。

我不想想在按钮中放一张图片。

编辑 我将这个问题限制为仅针对 UILabel 的问题,因为要求相同的事情为 UIButton 工作会生成大量脱离上下文的答案。

【问题讨论】:

    标签: iphone ios cocoa-touch fonts uibutton


    【解决方案1】:

    您可以使用属性文本 (iOS >= 7)

    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;
    

    【讨论】:

      【解决方案2】:

      试试:label.backgroundColor = [UIColor colorWithPatternImage:image];

      【讨论】:

      • 哎呀,这真的很棘手:-)!稍后我会尝试一下。你试过了吗?
      【解决方案3】:

      看看这个 swift 项目:https://github.com/anatoliyv/SMIconLabel 如果你可以将你的符号放入 UIImage 它应该完全符合你的要求。

      【讨论】:

        【解决方案4】:

        如果你将UIButton的样式设置为自定义,并将图标图片设置为背景(不是图片),你设置的时候就可以看到标题了。

        【讨论】:

        • 您可以从控件属性检查器的对齐部分对齐图标右侧的文本。
        • 这不是问题。我不想手动对齐任何东西。
        • 您好,我搞错了。您能否编辑您的答案以“解锁”它?
        【解决方案5】:

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

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

        【讨论】:

        • 这似乎与问题不符,或者您应该详细一点。制作满足我需求的“东西”并没有帮助。
        • 我以为你知道如何将子视图添加到视图中。只是addSubview。其余的应该是显而易见的。
        • 好的,但即使我添加了一个子视图,也不能告诉我如何将图标显示为文本。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-08
        • 1970-01-01
        • 1970-01-01
        • 2014-09-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多