오늘 글은 프로젝트에 커스텀 폰트 적용해보기 편입니다 :)
간단하지만 은근히 헷갈리고, 잘한 것 같은데 왜 안되지? 하는 지점이 있다면
이 글을 참고하시고 빠진 부분들이 있는지 체크해보시면 좋을 것 같습니다.
더해서 언어별로 폰트를 다르게 세팅해보는 것까지 정리해보았습니다 !
그럼 시작할게요 :)
폰트 파일 추가하기
폰트 파일을 추가해줍니다.
Add to targets가 잘 체크되어있는지 확인합니다.
Info.plist 파일에 폰트 추가하기
key로 Fonts provided by application을 추가해주고,
하위에 아이템들을 추가해줍니다.
이렇게 폰트 파일을 눌렀을 때 Name 부분에 적혀있는 string 값을 넣어주시면 됩니다.
사용될 custom font가 여러개라면 여러 개 추가해주시면 됩니다.
사용해보기
label.font = UIFont(name: customFontName, size: 14.0)
이런식으로 사용하면 되는데 여기서 이름을 설정해주는데 안 되는 경우가 있을 수 있습니다.
저도 초반에 가장 헷갈렸던 부분이 여기인데요.
아래 코드를 App 실행부나 아무 곳에 넣어 font 이름들을 프린트해줍니다. :)
for fontFamily in UIFont.familyNames {
for fontName in UIFont.fontNames(forFamilyName: fontFamily) {
print(fontName)
}
}
이렇게 위에서 제가 추가해줬던 폰트 이름들이 나옵니다.
GmakretSansMedium 같은 경우에는 파일에 적힌 이름과 같지만
XiaolaiSC 같은 경우에는 다른 것을 확인하실 수 있습니다.
이렇게 여기서 프린트 된 이름을 font name 부분에 적어주셔야 제대로 커스텀 폰트가 적용되는 것을 확인하실 수 있습니다 :)
다국어 폰트 적용하기
우선 언어 별로 폰트를 설정하려면 다국어 세팅이 먼저 필요합니다.
https://ohttios.tistory.com/32 < 요 글을 먼저 확인해주세요 :)
그다음 이렇게 폰트를 위한 key - value를 하나 만들어줍니다.
value 에는 언어 별 폰트 이름을 넣어주면 됩니다 :)
extension UIFont {
static var mojitoFont: UIFont {
let fontText = "mojitoFont".localized
return UIFont(name: fontText, size: 14.0) ?? .systemFont(ofSize: 14)
}
}
label.font = .mojitoFont
그리고 UIFont의 extension으로 해당 폰트 정적 변수를 만들어줍니다 :)
그럼 이렇게 해주었을 때 언어별로 맞는 font가 설정되게 됩니다 ! 👍🏻
마치며
애플은 워낙 시스템 폰트가 깔끔하고 언어별로 가장 좋은 폰트가 적용되어 있지만
앱의 이미지에 맞는 폰트가 필요할 때가 있습니다 :)
그럴 때 커스텀 폰트 하나만으로도 앱의 분위기를 확 바꿀 수 있어서
여러분의 앱에 맞는 멋진 폰트를 선정해서 사용해보시길 추천드립니다 :)
저처럼 헤매는 분들이 많지 않으시길 바라며 ... 글 마칩니다
'iOS > iOS' 카테고리의 다른 글
[iOS] custom 확장자 - 우리 앱 제안 영역에 뜨게하기 (1) | 2022.10.02 |
---|---|
[iOS] iOS 16 enable Developer Mode (2) | 2022.09.24 |
[iOS] 번역 꿀팁 정리 (0) | 2022.08.15 |
[iOS] Xcode에서 쓰는 주석 정리하기 (1) | 2022.06.11 |
[iOS] isHidden에 대하여 (0) | 2022.04.02 |