NSAttributedStringとは
NSAttributedStringではフォントの大きさを変えたり色を変更することができます。
今回はそれを使ってbuttonに下線を付けて見ます。
今回は下記画像のような実装をbuttonに装飾したかったのでやり方を載せておきます。
下線を表示させる
NSMutableAttributedStringを使うと部分的に文字の装飾などができます。
その中でNSUnderlineStyleを指定して表示させます。
ただそのまま使ってしまうと全てに下線が装飾されてしまうので表示エリアも指定します。
let underLineString = "(\(review))件"
let underLineString = "(\(review))件"
let attributeString = NSMutableAttributedString(
string: underLineString
)
attributeString.addAttributes([
//下線を表示
.underlineStyle: NSUnderlineStyle.single.rawValue],
//下線を表示する場所をattributeStringの二番目と後ろから三番目まで表示を指定
range: NSRange(location: 1, length: attributeString.length - 2)
)
完成コード
//reviewは何かしらの件数の数
let underLineString = "(\(review))件"
let attributeString = NSMutableAttributedString(
string: underLineString
)
attributeString.addAttributes([
//文字の大きさ・フォントの指定
.font: UIFont.systemFont(ofSize: 13),
//文字の色
.foregroundColor: UIColor.red,
//下線を表示
.underlineStyle: NSUnderlineStyle.single.rawValue],
//下線を表示する場所をattributeStringの二番目と後ろから三番目まで表示を指定
range: NSRange(location: 1, length: attributeString.length - 2)
)
//ここでbuttonに装飾を反映
ReviewButton.setAttributedTitle(attributeString, for: UIControl.State())