1. ホーム
  2. ios

[解決済み] Swift でボタンテキストに下線を引く

2023-04-16 11:48:52

質問

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;

しかし、まだ結果はありません。また、私は下線属性にアクセスする方法を知る必要があります。テキスト、サイズ、カラーは同じままです。

どのように解決するには?

さあ、テストしてみましょう。 (少なくとも xCode 7 Beta では動作します)

@IBOutlet weak var yourButton: UIButton!

var attrs = [
NSFontAttributeName : UIFont.systemFontOfSize(19.0),
NSForegroundColorAttributeName : UIColor.redColor(),
NSUnderlineStyleAttributeName : 1]

var attributedString = NSMutableAttributedString(string:"")

override func viewDidLoad() {
  super.viewDidLoad()

  let buttonTitleStr = NSMutableAttributedString(string:"My Button", attributes:attrs)
  attributedString.appendAttributedString(buttonTitleStr)
  yourButton.setAttributedTitle(attributedString, forState: .Normal)
}