【Swift】 텍스트에 취소선을 붙인다

3586 단어 iOSSwiftSwift5
NSAttributeString 를 사용하여 문자열을 장식하는 방법을 정리했습니다.

완성도





구현


@IBOutlet weak var textLabel: UILabel!

private func setTestLabel() {
    // 表示したいテキスト
    let text = "文章の中の一部に取り消し線を付けたい。"
    let attributeString: NSMutableAttributedString =  NSMutableAttributedString(string: text)
    // 全体に共通して付けたいレイアウトを設定
    attributeString.addAttribute(.font,value: UIFont.systemFont(ofSize: 15), range: NSMakeRange(0, attributeString.length))

    // 取り消し線部分の設定
    attributeString.addAttributes([
        .foregroundColor : UIColor.red,
        // 取り消し線の太さを決める
        .strikethroughStyle: 1
    // 取り消し線を反映したい部分を設定
    // NSMakeRange(何文字目から, 何文字間)
    ], range: NSMakeRange(8, 5))
    textLabel.attributedText = attributeString
}

// NSMakeRange(何文字目から, 何文字間)はこんな感じにも書き換えられる
// こちらの方が直感的でわかりやすい
NSString(string: text).range(of: "取り消し線")

이것으로 취소선의 구현이 완료됩니다 👌

좋은 웹페이지 즐겨찾기