[swift] SwiftMessages에 사용자 정의 폰트 적용하기

SwiftMessages는 iOS 애플리케이션에서 사용자에게 메세지 알림을 보여주는 라이브러리입니다. 기본적으로 시스템 폰트를 사용하지만, 사용자 정의 폰트를 적용하여 더욱 개성있는 메세지를 구현할 수 있습니다.

이번 글에서는 SwiftMessages에 사용자 정의 폰트를 적용하는 방법에 대해 알아보겠습니다.

1. 폰트 파일 추가하기

먼저, 프로젝트에 사용할 사용자 정의 폰트 파일을 추가해야 합니다. Xcode에서 프로젝트의 Resources 폴더에 폰트 파일(.ttf 또는 .otf)을 드래그 앤 드롭하여 추가합니다.

2. SwiftMessages에 폰트 적용하기

SwiftMessages에서는 Theme 클래스를 사용하여 메세지의 스타일을 설정합니다. Theme 객체에 폰트를 적용하려면 다음과 같은 작업을 수행합니다.

import SwiftMessages

// 사용자 정의 폰트 적용을 위한 익스텐션
extension Theme {
    static let customFont = "CustomFont"  // 사용자 정의 폰트 이름

    // 사용자 정의 폰트를 적용하는 메소드
    static func applyCustomFont() {
        let messageView = MessageView.appearance()
        messageView.titleFont = UIFont(name: customFont, size: 16)!
        messageView.bodyFont = UIFont(name: customFont, size: 14)!
        // 필요한 폰트 속성을 적용합니다.
    }
}

위의 코드를 보면, Theme 객체에 applyCustomFont() 메소드를 추가하여 사용자 정의 폰트를 적용합니다. 여기서 customFont 변수에 사용자 폰트의 이름을 지정해야 합니다.

3. 사용자 정의 폰트 적용하기

SwiftMessages를 사용하는 곳에서, 폰트를 적용하기 위해 Theme.applyCustomFont() 메소드를 호출해야 합니다.

Theme.applyCustomFont()  // 사용자 정의 폰트 적용

// 메세지 뷰 생성 및 설정
let view = MessageView.viewFromNib(layout: .cardView)
view.configureTheme(.info)
view.configureDropShadow()

view.title = "안내"
view.body = "사용자 정의 폰트가 적용된 메세지입니다."
view.button?.setTitle("확인", for: .normal)
view.buttonTapHandler = { _ in SwiftMessages.hide() }

// 메세지 뷰 표시
SwiftMessages.show(view: view)

위의 예제에서는 SwiftMessages.show(view:) 메소드를 사용하여 메세지 뷰를 표시합니다. 이전에 Theme.applyCustomFont()를 호출하여 사용자 정의 폰트가 적용되었으므로, 메세지 뷰의 타이틀과 본문 텍스트는 지정한 폰트로 표시됩니다.

마무리

이제 SwiftMessages에 사용자 정의 폰트를 적용하는 방법에 대해 알아보았습니다. 사용자 정의 폰트를 적용하여 알림 메세지를 더욱 개성있게 만들 수 있습니다. 추가적인 스타일링이나 기능을 적용하고 싶다면 SwiftMessages의 공식 문서를 참고해보시기 바랍니다.

참고 자료