[swift] SwiftyAttributes를 사용하여 텍스트에 특정 문자열 바꾸는 방법

SwiftyAttributes는 Swift에서 텍스트 스타일링을 쉽게 처리할 수 있도록 도와주는 라이브러리입니다. 이 라이브러리를 사용하면 텍스트에 원하는 문자열을 찾아서 다른 스타일로 변경할 수 있습니다.

먼저, SwiftyAttributes를 프로젝트에 추가해야 합니다. Cocoapods를 사용하는 경우, Podfile에 다음과 같이 SwiftyAttributes를 추가하고 pod install 명령어를 실행하세요.

pod 'SwiftyAttributes'

이제 사용할 준비가 되었습니다. 문자열에 특정 단어를 다른 스타일로 변경하는 방법을 알아보겠습니다.

import UIKit
import SwiftyAttributes

let originalText = "Hello World!"
let searchText = "World"

let attributedText = NSMutableAttributedString(string: originalText)

if let range = originalText.range(of: searchText) {
    let start = originalText.distance(from: originalText.startIndex, to: range.lowerBound)
    let length = searchText.count
    let nsRange = NSRange(location: start, length: length)
    
    attributedText.addAttributes([.foregroundColor: UIColor.red], range: nsRange)
}

// UILabel, UITextView 등에 설정하여 화면에 출력하거나, 다른 곳에서 사용할 수 있습니다.

위의 코드에서는 originalText라는 원본 문자열을 생성하고, searchText라는 특정 문자열을 찾습니다. NSMutableAttributedString을 사용하여 attributedText를 만들고, range(of:) 함수를 사용하여 searchText의 범위를 찾습니다. 그런 다음, addAttributes(_:range:) 메서드를 사용하여 원하는 스타일을 적용합니다. 위의 예제에서는 .foregroundColor 속성을 사용하여 해당 범위의 텍스트 색상을 빨간색으로 변경했습니다.

실행하고 결과를 확인해보세요! 특정 문자열을 다른 스타일로 변경할 수 있는 것을 확인할 수 있을 것입니다.

더 많은 SwiftyAttributes의 기능과 옵션을 알아보려면 공식 문서를 참조하시기 바랍니다.

참고 자료: