[swift] Swift FontBlaster를 사용하여 특정 범위의 문자열에만 특정 폰트를 적용하는 방법은?

확실히 특정 범위의 문자열에만 특정 폰트를 적용하는 것은 UI 디자인에서 매우 유용합니다. Swift에서 이 작업을 수행하기 위해 Swift FontBlaster 라이브러리를 사용할 수 있습니다.

FontBlaster를 사용하려면 먼저 해당 라이브러리를 프로젝트에 추가해야 합니다. CocoaPods를 사용하는 경우 Podfile에 다음 줄을 추가하세요:

pod 'FontBlaster'

프로젝트에 추가된 후 다음 단계를 따라주세요:

  1. 필요한 폰트 파일을 프로젝트에 추가합니다. 이를 위해 프로젝트 탐색기에서 파일을 선택하고 “Add to Project” 또는 “Add Files”를 클릭합니다.

  2. 앱이 시작될 때, 먼저 사용할 폰트를 로드해야 합니다. AppDelegate.swift 파일을 열고 application(_:didFinishLaunchingWithOptions:) 메서드에 다음 코드를 추가하세요:

FontBlaster.blast()

이제 특정 범위의 문자열에 원하는 폰트를 적용하는 방법을 알아보겠습니다. 가장 일반적인 경우는 UILabel, UITextView, UIButton 등과 같은 UI 요소입니다.

import UIKit
import FontBlaster

class ViewController: UIViewController {

    @IBOutlet weak var label: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()

        // 특정 범위의 폰트를 적용하기 위해 NSAttributedString을 사용합니다.
        let attributedString = NSMutableAttributedString(string: "안녕하세요, FontBlaster!")
        attributedString.addAttribute(.font, value: UIFont(name: "YourFontName-Bold", size: 16)!, range: NSRange(location: 7, length: 11))
        label.attributedText = attributedString
    }

}

위의 코드에서는 “YourFontName-Bold” 폰트를 범위가 7에서 11까지인 문자열에 적용하고 있습니다. 범위를 조정하거나 다른 폰트를 적용하려면 해당 값들을 수정하세요.

프로젝트를 실행하고 특정 범위에 적용한 폰트가 제대로 표시되는지 확인하세요.

이렇게 Swift FontBlaster와 NSAttributedString을 사용하여 특정 범위의 문자열에만 특정 폰트를 적용할 수 있습니다. 이를 통해 더욱 다양하고 개성있는 UI를 구현할 수 있습니다.

참고문서: FontBlaster GitHub 저장소