티스토리 뷰

반응형

 

iOS 앱 개발 간 font 속성을 커스터마이징 하고 싶을때가 있는데요. 오늘은 Font Asset을 추가해서 Font를 설정하는 ViewModifier를 정의 후 SwiftUI Text View에 적용하는 방법을 알아보겠습니다.

 


Xcode Project에 Font Asset 추가하기

otf 맥용 폰트 확장자 등의 형태를 가진 파일을 먼저 준비해줍니다. 그리고 Xcode의 앱 프로젝트 하위 경로에 Fonts 폴더를 만들어서 안에 드래깅 해서 폰트를 추가해줍니다.

 

 

각각의 폰트 Asset에 대한 App Target이 체크되어있는지도 확인해줍니다. 이어서 commend+shift+O 버튼을 누른 후, 본인이 개발하는 앱 타겟의 info.plist를 검색 후 해당 파일 화면으로 이동합니다.

 

 

property list의 키로 "Fonts provided by application"을 추가해주고, 하위 item으로 앞서 추가했던 Font Assets를 추가해줍니다. 이제 Asset을 추가했으니, SwiftUI에 폰트를 적용할 다음 준비를 해보겠습니다.

 


SwiftUI Text View Font적용을 위한 ViewModifier 정의하기

위 enum 열거형 타입은 Font 케이스를 정의하고 있는 모델입니다. 이건 개개인 폰트 정의 방식에 따라 천차만별일 수 있으니, 예시로 참고만 하세요. 일단, 6가지 타입으로 폰트 정의를 하고 있습니다.

 

 

ViewModifier를 채택하고, body를 정의하면, 색상, 폰트, 크기 컨테이너 설정 등 다양한 속성설정을 정의할 수 있습니다. 이 경우에는 단순 폰트 설정을 위한 Custom ViewModifier로, 앞서 정의한 font 속성, 크기 옵션을 인자로 받아서 처리하도록 했습니다.

ViewModifier는 다수의 위치에서 사용되는 동일한 속성을 적용할때 재사용할 수 있어서 SwiftUI에서 유용하게 사용이 가능합니다.

 

 

앞서 구현한 viewModifier를 View extension의 메서드로 래핑을 하고 있습니다. CustomFontType, font size를 인자로 받는데, 인자 설정이 안되는 경우 default font 속성은 regular font, size는 17.0으로 지정됩니다.

지금까지 Font Asset과 타입 모델을 추가하고, viewModifier을 구성했고, View extension method를 만들었습니다. 이제 실제 SwiftUI View에 사용할 일만 남았습니다.

 


이제 SwiftUI Text View에 Font를 적용하자!

위와 같이 View 프로토콜을 채택하는 Text View에 customFont()를 사용할 수 있습니다. 필요하다면, type, size 인자 값을 넣어서 사용할 수도 있겠습니다. 

 

 


오늘은 iOS Xcode 프로젝트에 Font Asset을 추가하고, 모델과 ViewModifier를 정의해봤습니다. 그리고 이어서 ViewModifier를 래핑한 View extension method를 SwiftUI Text에 사용해보는 예시도 보았습니다.

의견 댓글 언제든 환영합니다. 모두들 SwiftUI Text View에 예쁜 폰트 많이많이 쉽게 사용하시길 바라며, 포스팅 마치겠습니다. 🤗

 

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함