У меня есть UIButton. В интерфейсном разработчике я установил его заголовок, который будет 'Приписан'. Как я могу сделать его заголовок, который будет подчеркнут из кода в Swift?
@IBOutlet weak var myBtn: UIButton!
Я создал функцию, обратился к touchUpInside событию этой кнопки:
var attributedString = NSMutableAttributedString(string:"new text")
var attrs = [
NSFontAttributeName : UIFont.systemFontOfSize(19.0),
NSForegroundColorAttributeName : UIColor.redColor()
]
var gString = NSMutableAttributedString(string:"g", attributes:attrs)
attributedString.appendAttributedString(gString)
myBtn.titleLabel?.attributedText = attributedString;
Но все еще никакой результат. Также я должен знать, как получить доступ к атрибуту подчеркивания. Текст, размер и цвет остаются такими же.
Это - мое решение. И быть честными Вам, вероятно, нужно это больше чем одно место, поэтому давайте создадим расширение. Это быстро 5.0 Аплодисментов :)
extension UIButton {
func underline() {
guard let title = self.titleLabel else { return }
guard let tittleText = title.text else { return }
let attributedString = NSMutableAttributedString(string: (tittleText))
attributedString.addAttribute(NSAttributedString.Key.underlineStyle, value: NSUnderlineStyle.single.rawValue, range: NSRange(location: 0, length: (tittleText.count)))
self.setAttributedTitle(attributedString, for: .normal)
}
}
, И можно использовать его как это.
override func viewDidLoad() {
super.viewDidLoad()
button.underline()
}
StoryBoard: , Если Вы хотите Подчеркнуть текст от раскадровки.