[swift] SwiftyAttributes를 사용하여 텍스트에 특정 부분을 강조하는 방법

SwiftyAttributes는 Swift에서 텍스트에 강조를 표시하는 데 사용되는 강력한 라이브러리입니다. 이 라이브러리를 사용하면 NSAttributedString을 쉽게 작성하고 수정할 수 있습니다.

아래는 SwiftyAttributes를 사용하여 텍스트의 특정 부분을 강조하는 예제 코드입니다.

import SwiftyAttributes

// 강조할 부분을 포함한 원본 텍스트
let originalText = "Hello, SwiftyAttributes!"

// 강조할 부분을 정의
let textToHighlight = "SwiftyAttributes"

// NSAttributedString 생성
let attributedText = originalText.withAttributes([
    .font(.systemFont(ofSize: 16)), // 기본 폰트 설정
    .foregroundColor(.black), // 기본 텍스트 색상 설정
    .backgroundColor(.yellow), // 기본 배경 색상 설정
    .underlineStyle(.single) // 밑줄 추가
]).highlightingOccurrences(of: textToHighlight, options: .caseInsensitive, color: .red) // 특정 부분 강조

// 생성한 NSAttributedString을 사용하여 UILabel 또는 UITextView 등에 텍스트를 표시
label.attributedText = attributedText

위 코드에서는 originalText라는 변수에 원본 텍스트를 정의합니다. 그리고 textToHighlight 변수에는 강조할 부분인 “SwiftyAttributes”를 정의합니다.

withAttributes 메서드를 사용하여 기본 텍스트의 속성을 설정합니다. 여기에서는 폰트, 텍스트 색상, 배경 색상, 밑줄 스타일을 설정하였습니다.

highlightingOccurrences 메서드를 사용하여 textToHighlight 변수에서 정의한 특정 부분을 강조합니다. options 매개변수는 강조할 부분을 찾을 때 대소문자를 구분할지 여부를 설정합니다. color 매개변수는 강조할 부분의 색상을 설정합니다.

마지막으로, 생성한 NSAttributedString을 사용하여 UILabel 또는 UITextView 등에 텍스트를 표시합니다.

SwiftyAttributes를 사용하면 텍스트에 강조 효과를 쉽게 추가할 수 있습니다. 해당 라이브러리의 문서에서 다른 기능과 메서드에 대해 더 자세히 알아볼 수 있습니다.

참고 자료