본문 바로가기

iOS

[iOS] 커스텀 폰트 적용하기 (Swift)

 

해당 포스트는 안드로이드 개발자가 iOS개발을 처음도전하면서 잘 정리되어 있지 않던 내용들을 정리해놓은 글 입니다.

사용자가 원하는 폰트를 적용하기 위해 크게 5가지로 나눠집니다.

1. 폰트 파일을 프로젝트에 import
2. Info.plist파일에 폰트가 추가되었음을 명시
3. UILabelView 생성
4. 확인


1. 폰트파일을 프로젝트에 Import

사용자가 원하는 폰트 파일을 다운로드합니다.
.ttf .otf 파일 모두 지원되는 것을 확인했습니다. (.wotf 파일은 인식하지 못했습니다.)

폰트를 import시킬때에는 Finder에서 끌어다가 원하는 디렉토리에 넣습니다.

import시킬 때, 위와 같은 창이 발생합니다.
Add to targets에 자신이 만든 프로젝트를 반드시 체크해주세요.
target 설정을 하지 않으면 폰트 파일을 프로젝트 내부에서 인식하지 못합니다.

(추가로 폰트 파일은 디렉토리 depth 상관없이 인식시킬 수 있습니다. 저의 경우에는 {프로젝트 디렉토리}/shared/font/ 디렉토리에 위치시켰습니다.


2. Info.plist에 폰트파일 정의

Info.plist파일은 프로젝트의 내용을 요약해놓은 파일로 어떤 커스텀 폰트가 사용되는지 정의해줘야 합니다.

Info.plist에 import 시킨 폰트 이름 적용

Info.plist파일 내부에 Information Property List에 Fonts provided by application 항목이 존재한다면 해당 리스트에 새로운 아이템을 추가하고 없다면 Fonts provided by application 항목을 생성해줍니다.

Fonts provided by application 사용한 커스텀 폰트 파일명을 정의해줍니다. 
정의할때 파일명의 확장자 까지 다 적어줘야합니다. (Montserrat-Bold.ttf 와같이 다 적어줘야 폰트인식을 합니다.)


3. UILabel 코드로 생성 (MainView.swift)

lazy var titleView: UILabel = {
        let titleView = UILabel(frame: .zero)
        
        titleView.text = "On The Stage"
        titleView.font = UIFont(name: "Montserrat-Bold", size: 35)
        titleView.textColor = .white
        return titleView
    }()

폰트를 적용한 UILabel을 확인하기 위해 MainView.swift에 UILabel 컴포넌트를 정의하고 안에 font를 적용해줍니다.
titleView.font = UIFont(name: "Monterrat-Bold", size: 35) 와 같이 폰트 이름을 확장자 빼고 적어줘야 인식합니다.


4. 결과 확인