[iOS] App Development

[iOS] SwiftUI 로 개발한 위젯에 Custom Font 사용하는 법(+폰트인식 못할 때)

ddgoori 2021. 12. 28. 16:43

위젯 개발 중 CustomFont를 사용할 일이 생겼다.

커스텀폰트를 사용하기 위해서는 아래와 같은 절차가 필요하다. 

 

1. 폰트를 Xcode프로젝트 폴더에 추가하고 Add Target을 해야한다. (기존 프로젝트에 추가해서 타겟만 위젯프로젝트 것 추가해도 됨)

 

 

본 프로젝트에 추가된 폰트를 위젯 프로젝트에도 사용하였다.
폰트 선택하고 우측에서 타겟만 WidgetExtension에 추가로 체크해주었다.

 

 

 

 

2. info.plist에 폰트를 추가해야한다.

 

=> 이때 주의할 점은 SwiftUI로 개발한 Widget프로젝트에도 info.plist가 따로 있으니 여기도 따로 추가 해줘야 한다는 것이다.

 

원래 프로젝트와 위젯의 info.plist가 각각 있는 것을 알 수 있다.

 

3. 소스코드

 Text("동동이")
                .font(Font.custom("S-CoreDream-5Medium", size: 40))

 

* 주의 *

위와 같이 구성해도 안될 경우 실제로 Font-Family와 Font명을 엑스코드에서 어떻게 인식하는지 아래 코드로 알아볼 수 있다.

 

  for family: String in UIFont.familyNames {
                        print(family)
                        for names : String in UIFont.fontNames(forFamilyName: family){
                            print("=== \(names)")
                        }
                    }

위 소스코드로 엑스코드에서 상요할 수 있는 폰트 명 모두를 알 수 있다.

 

콘솔에 찍힌 폰트명

콘솔에 찍힌 폰트명으로 입력해주면 된다.

 

결과화면

커스텀 폰트가 아래와 같이 반영된 것을 확인할 수 있다. ex)동동이