NSUnderlineStyle에서 UILabel에 밑줄을 그린 결과 요약

개요



NSUnderlineStyle을 사용하여 UILabel에 밑줄을 그린 결과의 표시 내용이 어디에도 정리되지 않았기 때문에, 가볍게 정리해 보았습니다.
잡잡한 샘플이지만 뭔가 도움이된다면.

검증 코드


override func viewDidLoad() {
    super.viewDidLoad()

    let single = NSUnderlineStyle.styleSingle.rawValue
    let thick = NSUnderlineStyle.styleThick.rawValue
    let double = NSUnderlineStyle.styleDouble.rawValue

    let dot = NSUnderlineStyle.patternDot.rawValue
    let dash = NSUnderlineStyle.patternDash.rawValue
    let dashDot = NSUnderlineStyle.patternDashDot.rawValue
    let dashDotDot = NSUnderlineStyle.patternDashDotDot.rawValue

    let word = NSUnderlineStyle.byWord.rawValue

    addUnderLine(label: singleDot, setValue: single | dot)
    addUnderLine(label: singleDash, setValue: single | dash)
    addUnderLine(label: singleDashDot, setValue: single | dashDot)
    addUnderLine(label: singleDashDotDot, setValue: single | dashDotDot)

    addUnderLine(label: thickDot, setValue: thick | dot)
    addUnderLine(label: thickDash, setValue: thick | dash)
    addUnderLine(label: thickDashDot, setValue: thick | dashDot)
    addUnderLine(label: thickDashDotDot, setValue: thick | dashDotDot)

    addUnderLine(label: doubleDot, setValue: double | dot)
    addUnderLine(label: doubleDash, setValue: double | dash)
    addUnderLine(label: doubleDashDot, setValue: double | dashDot)
    addUnderLine(label: doubleDashDotDot, setValue: double | dashDotDot)

    addUnderLine(label: byWord, setValue: thick | word)
}

private func addUnderLine(label: UILabel, setValue: Int) {
    let attributeText = NSMutableAttributedString(string: label.text!)
    attributeText.addAttribute(.underlineStyle, value: setValue, range: NSMakeRange(0, label.text!.count))
    label.attributedText = attributeText
}

결과





보충 (환경)


  • Xcode9.4
  • iPhone X
  • System Font 17

  • 감상



    기본적으로는 예상대로의 밑줄 부여 결과가 되었지만 상당히 문자와 가까운 상태로 선이 그려져 버리므로, 1dot의 view등을 사용해 의사적으로 스스로 선을 그리는 것이 좋을지도 모릅니다 응.
    byWord에 관해서는, 스페이스 부분을 무시해 준다고 하는 특성은 스스로 실장하면 조금 번거롭기 때문에 도움이 될 것 같습니다.

    좋은 웹페이지 즐겨찾기