Notice
Recent Posts
Recent Comments
Link
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
반응형
Archives
Today
Total
관리 메뉴

슈프림 블로그

[Xcode] 커스텀 Font 추가하기 본문

iOS_Swift

[Xcode] 커스텀 Font 추가하기

_슈프림 2023. 2. 23. 17:24
728x90

프로젝트에 시스템 폰트 말고 커스텀 폰트를 적용하는 방법에 대해 알아보자.

 

1. 폰트 다운로드

우선 나는 여기서 폰트를 다운 받았다.

상업적이용, 수정, 재배포 등등이 가능한지 꼭 확인하기!!!!

https://noonnu.cc/font_page/694

 

눈누

프리텐다드 - 길형진 (orioncactus)

noonnu.cc

 

다운받은 폴더에는 이렇게 들어있다. 나는 여기서 otf 파일을 사용할거다.

 

2. 프로젝트에 Font 파일 추가

Xcode 프로젝트로 돌아가서 Fonts 폴더를 만들어서 otf 파일을 모두 넣어주었다!

 

3. Info.plist에 폰트 추가

Info.plist에 Fonts provided by application 항목을 추가하고,
v위에서 추가한 otf 파일 목록들을 입력해준다. (확장자까지 포함해서 적어야 함)

 

4. 코드에 적용

다음과 같이 폰트를 사용할  수 있게 된다.

UIFont(name: "Pretended-Regular", size: 16)

 

5. extension 추가하기 (optional)

나는 좀더 편하게 사용하기 위해 UIFont를 확장해서 사용한다.

extension UIFont {
    static func pretendard(size fontSize: CGFloat, weight: UIFont.Weight) -> UIFont {
        let familyName = "Pretendard"

        var weightString: String
        switch weight {
        case .black:
            weightString = "Black"
        case .bold:
            weightString = "Blod"
        case .heavy:
            weightString = "ExtraBold"
        case .ultraLight:
            weightString = "ExtraLight"
        case .light:
            weightString = "Light"
        case .medium:
            weightString = "Medium"
        case .regular:
            weightString = "Regular"
        case .semibold:
            weightString = "SemiBold"
        case .thin:
            weightString = "Thin"
        default:
            weightString = "Regular"
        }

        return UIFont(name: "\(familyName)-\(weightString)", size: fontSize) ?? .systemFont(ofSize: fontSize, weight: weight)
    }
}
반응형
Comments