Подчеркните текст кнопки в Swift

У меня есть 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;

Но все еще никакой результат. Также я должен знать, как получить доступ к атрибуту подчеркивания. Текст, размер и цвет остаются такими же.

59
задан 15 August 2018 в 17:31

2 ответа

Это - мое решение. И быть честными Вам, вероятно, нужно это больше чем одно место, поэтому давайте создадим расширение. Это быстро 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()
}
1
ответ дан 1 November 2019 в 11:04

StoryBoard: , Если Вы хотите Подчеркнуть текст от раскадровки.

  • нажимают кнопку или маркируют заголовок как Приписанный.
  • Избранный диапазон текста, который Вы хотите подчеркнуть.
  • Щелчок правой кнопкой и выбирает, Font затем выбирают подчеркивание.

enter image description here

1
ответ дан 1 November 2019 в 11:04

Другие вопросы по тегам:

Похожие вопросы: