ios - 是否可以在 Swift 的 UIButton 中添加两个标签?

标签 ios swift uibutton

我的 Swift 项目上有一个 UIButton,我想使用字体超棒的图标和其中的文本。

我知道我可以为按钮设置标题,但是我需要图标和文本的文本大小不同,我不能将它们组合在同一个标​​题标签中。我也考虑过使用带有属性标题的图像(设置超赞字体图标),但我无法更改超赞字体图标的颜色。

我知道我可以通过在 UIView 中添加两个标签来获得这种行为,但我想知道是否可以在 UIButton 中获得这种行为。

提前致谢!

最佳答案

您可以使用属性字符串设置按钮的属性标题,例如

 let attributedTitle = NSAttributedString(string: "Click Here",
attributes: [NSForegroundColorAttributeName : UIColor.blueColor()])
button.setAttributedTitle(attributedTitle, forState: .Normal)

您可以为特定文本或字符串的一部分设置多种颜色、字体、大小。

另一个例子,

 attributedTitle = NSMutableAttributedString(string: @"Click Here", attributes: [NSFontAttributeName:UIFont(name: "Georgia", size: 18.0)!])

   attributedTitle.addAttribute(NSForegroundColorAttributeName, value: UIColor.redColor(), range: NSRange(location:2,length:4))

  button.setAttributedTitle(attributedTitle, forState: .Normal)

因此,您可以使用 NSRange 指定位置,并可以为指定范围设置不同的颜色和字体属性!

关于ios - 是否可以在 Swift 的 UIButton 中添加两个标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39346389/

相关文章:

ios - 如何在动画中点击按钮时使按钮消失

ios - UIButton setTitleColor forState 效果很好,而 setTitle 却不行

ios - 有没有更简单的方法将 XML 转换为 Plist?

ios - 调用 awakeFromNib 时,UserDefaults 返回 0 个元素

ios - 我需要在 AlamoFire 中使用 [unowned self] 吗,还是已经处理好了?

swift - 按钮文本 - 来自十六进制的 UIColor? swift

ios - Swift:在协议(protocol)中使用未定义的函数?

ios - 将 icloud 数据恢复到应用程序

ios - 是否可以发布没有 iCloud 帐户就无法运行的 iOS 应用程序?

ios - 使用 Xcode 构建 flutter 应用程序时命令代码符号失败并出现非零退出代码 (errSecInternalComponent)