iOS 11의 내비게이션 바에 라지 타이틀이 추가됨으로써 기존의 내비게이션 바의 타이틀을 다른 방식으로 표현할 수 있게 되었습니다. 이 타이틀의 텍스트 속성을 변경하는 방법에 대해 알아보겠습니다.
스토리보드 방식
스토리보드에서 내비게이션 컨트롤러를 선택 후 내비게이션 바 영역을 선택합니다. 우측 사이드바의 [Show the Attributes Inspector] 탭에서 [Large Title Text Attributes] 섹션을 찾아 필요한 부분을 변경합니다. 위에서는 타이틀 폰트와 크기를 변경해 봤습니다.
코드 방식
해당 내비게이션 컨트롤러를 사용하고 있는 뷰 컨트롤러 등에서 속성을 지정해 줄 수 있습니다.
let titleAttributes: [NSAttributedString.Key: Any] = [
.font: UIFont.systemFont(ofSize: 28, weight: .ultraLight),
// 필요한 attribute가 있다면 더 추가
]
위처럼 NSAttributedString.Key를 키로 갖는 딕셔너리 타입의 지역 변수를 생성해 주면서 필요한 속성들을 할당해 줍니다. [NSAttributedString.Key: Any] 타입이 명시적으로 지정되어 있기 때문에 키에 타입을 생략한 채로 .font만 적을 수 있습니다.
그 뒤 titleAttributes를 다음의 프로퍼티에 할당해 줍니다.
self.navigationController?.navigationBar.largeTitleTextAttributes = titleAttributes
위처럼 변수를 따로 선언하는 것이 싫다면 다음과 같이 작성하는 것도 가능합니다.
self.navigationController?.navigationBar.largeTitleTextAttributes = [
.font: UIFont.systemFont(ofSize: 28, weight: .ultraLight),
// 필요한 attribute가 있다면 더 추가
]
실행해 보면 다음과 같이 변경이 된 것을 확인할 수 있습니다.
'프로그래밍 팁 > iOS' 카테고리의 다른 글
dequeueReusableCell을 보다 편리하게 사용하는 방법 (0) | 2020.11.14 |
---|
댓글