-
Notifications
You must be signed in to change notification settings - Fork 1
[UIKit] Navagation title을 줄바꿈 할 수는 없을까?
Ari edited this page Jul 24, 2022
·
1 revision
카탈로그에 가구를 추가하던 와중에 아이템의 이름이 너무 길어서 네비게이션 타이틀 제목이 너무 길면 줄바꿈 되지 않고 한줄에 줄임표로 ... 표시 되는 것이 마음에 들지 않았다.
![](https://user-images.githubusercontent.com/75905803/180652425-c2a97cc5-5c6b-47e5-8a48-1e767bba159a.png)
시도
처음에는 NavigationBar의 뷰를 새롭게 할당해주는 솔루션을 시도해보았다.
하지만 내가 원했던 것은 large Title인 상태에서 여러줄로 표시되는 것을 원했는데, 해당 방법은 여러줄로 표시는 되지만 large 스타일은 아니였다.
그러다가 비공개 API를 활용하여 간단하게 해결하는 방법을 찾게 되었다.
해결 방법
extension UINavigationItem {
func enableMultilineTitle() {
setValue(true, forKey: "__largeTitleTwoLineMode")
}
}
위처럼 UINavigationItem을 확장하여 기능을 추가한다. 그리고 네비게이션 아이템을 설정할 때, 위 메소드도 같이 호출해주면 내가 원하는 형태로 줄바꿈 되어 네비게이션 타이틀이 표시 된다.
이렇게 setValue 메소드를 활용해서 UI의 속성을 바꾸는 것은 처음 알아서 다른 기능은 없나 찾아보려고 했지만, 실패했다.
기회가 된다면 다른 속성값들도 확인해보고 싶다!
- [성능] 필터링 걸고 아이템을 체크했을 때 앱의 반응속도가 느려지는 현상
- [RxSwift] Cell에 ViewModel을 할당하여 바인딩 처리할 때 주의해야할 점
- [ARC] dismiss 혹은 popViewController 호출 이후에도 메모리 할당이 해제되지 않는 이유?
- [UIKit] CollectionView의 높이를 콘텐츠 높이에 따라 동적으로 레이아웃 설정하는 법
- [UIKit] UICollectionView의 Cell Dynamic Size 지정해주기
- [UIKit] Navagation title을 줄바꿈 할 수는 없을까?
- [UIKit] Progress Bar의 높이를 변경하는 방법
- [UIKit] 왜 네비게이션 타이틀이 Large가 아닌 small로 나오는 걸까?
- [Xcode] LaunchScreen.storyboard에 배경색을 커스텀색상을 사용했는데, 다크모드가 작동하지 않는 현상
- [Xcode] 실제 디바이스로 앱을 테스트 하던 도중 발생한 문제