LoginSignup
2
4

More than 5 years have passed since last update.

NSAttributedStringで下線をつける(Swift4)

Posted at

NSAttributedStringとは

NSAttributedStringではフォントの大きさを変えたり色を変更することができます。
今回はそれを使ってbuttonに下線を付けて見ます。

今回は下記画像のような実装をbuttonに装飾したかったのでやり方を載せておきます。

IMG_3635.jpg

下線を表示させる

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())
2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4