iOS UIButton 主副标题

let mainTitle = "这是一个主标题"
let subtitle = "副标题"
let buttonText = mainTitle + "\n" + subtitle

let button = UIButton(type: .system)
button.frame = CGRect(x: 50, y: 100, width: 200, height: 100)
button.backgroundColor = .lightGray
button.titleLabel?.numberOfLines = 2
view.addSubview(button)

let paragraphStyle = NSMutableParagraphStyle()
//主副标题文字居中
paragraphStyle.alignment = .center
//主副标题间距
paragraphStyle.lineSpacing = 10

let attributedText = NSMutableAttributedString(string: buttonText)

//主标题字体大小颜色
attributedText.setAttributes([NSAttributedString.Key.foregroundColor : UIColor.black, NSAttributedString.Key.font : UIFont.systemFont(ofSize: 20)], range: NSRange(location: 0, length: mainTitle.count))
//副标题字体大小颜色
attributedText.setAttributes([NSAttributedString.Key.foregroundColor : UIColor.gray, NSAttributedString.Key.font : UIFont.systemFont(ofSize: 15)], range: NSRange(location: (mainTitle + "\n").count, length: subtitle.count))

attributedText.addAttribute(NSAttributedString.Key.paragraphStyle, value: paragraphStyle, range: NSRange(location: 0, length: buttonText.count))

button.setAttributedTitle(attributedText, for: .normal)
image.png

推荐阅读更多精彩内容