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

Swift는 SwiftyAttributes라는 라이브러리를 제공하여 텍스트에 특정 부분을 강조하는 것을 쉽게 할 수 있습니다. 이 라이브러리를 사용하면 손쉽게 텍스트에 다양한 스타일과 속성을 적용할 수 있습니다.

이 문서에서는 SwiftyAttributes를 사용하여 텍스트에서 특정 부분을 강조하는 방법에 대해 설명하겠습니다.

SwiftyAttributes 설치하기

SwiftyAttributes를 사용하기 위해서는 먼저 프로젝트에 라이브러리를 추가해야 합니다. CocoaPods를 사용한다면 Podfile에 다음과 같이 추가합니다.

pod 'SwiftyAttributes'

그리고 터미널에서 pod install 명령어를 실행하여 라이브러리를 설치합니다.

텍스트에 스타일 적용하기

SwiftyAttributes를 사용하여 텍스트에 스타일을 적용하려면 다음과 같은 단계를 따릅니다.

  1. NSAttributedString의 확장 프로토콜인 Attributed를 사용하여 텍스트를 생성합니다.
  2. 생성한 텍스트에 원하는 스타일 및 속성을 추가합니다.
  3. AttributedString를 기반으로 한 NSMutableAttributedString를 생성합니다.

다음은 SwiftyAttributes를 사용하여 텍스트에 강조 효과를 주는 예제 코드입니다.

import SwiftyAttributes

let text = "Hello, world!"

let attributedText = text.attributed
    .font(UIFont.boldSystemFont(ofSize: 20))
    .foregroundColor(.red)
    .underlineStyle(.single)
    .underlineColor(.blue)

위 코드에서는 font, foregroundColor, underlineStyle, underlineColor와 같은 메서드를 사용하여 텍스트에 각각 폰트, 텍스트 색상, 밑줄 스타일, 밑줄 색상을 적용하고 있습니다.

특정 부분 강조하기

SwiftyAttributes를 사용하여 텍스트의 특정 부분을 강조하려면 range 메서드를 사용합니다. 다음은 특정 부분을 강조하는 예제 코드입니다.

import SwiftyAttributes

let text = "Hello, world!"

let attributedText = text.attributed
    .font(UIFont.systemFont(ofSize: 16))
    .foregroundColor(.black)
    .highlight(text: "Hello", with: .yellow)

위 코드에서는 highlight 메서드를 사용하여 “Hello”라는 텍스트를 선택한 후 이를 노란색으로 강조하고 있습니다.

결과 확인하기

강조 효과를 주려는 텍스트를 UILabel이나 UITextView에 설정하면 원하는 결과를 확인할 수 있습니다.

let label = UILabel()
label.attributedText = attributedText

위 코드에서는 UILabelattributedText 속성을 사용하여 텍스트에 스타일을 적용한 후 라벨에 표시하고 있습니다.

결론

SwiftyAttributes를 사용하면 Swift에서 텍스트에 다양한 스타일과 속성을 쉽게 적용할 수 있습니다. 동적으로 텍스트를 생성하고 특정 부분을 강조하는 것도 간단히 할 수 있습니다. 이러한 기능을 활용하여 사용자 인터페이스에서 텍스트에 다양한 효과를 줄 수 있습니다.

참고 자료