네비게이션 뷰 컨트롤러를 사용하면 타이틀을 설정할 수 있는고,
그 타이틀을 default로 작게 나타나게 둘 수도 있고 Large title로 설정할 수도 있다.
large title로 설정해두더라도 정상적으로라면 다른 화면으로 전환된 후에는 타이틀이 default 타이틀처럼 작게 변한다.
그런데 이번에 화면 전환이 된 후에도 타이틀이 large 로 나타나는 현상이 있었다.
다른 세그웨이 전환 시에는 정상적으로 됐는데 나머지 세그웨이 전환에서만 이상현상이 있었다.
한 가지 더 이상한 점은, 오류가 없는 세그웨이로 전환을 한 뒤에 문제가 되는 세그웨이 전환을 하면 갑자기 그 문제가 사라져 있었다는 것이었다.
화면이 처음에는 나오지 않고 다른 세그웨이를 한 번 실행한 후 다시 문제가 있던 뷰로 이동하는 세그웨이를 실행시켜야지만이 화면이 나와 어디가 문제인지 알 수가 없었다.
처음에는 심지어 타이틀 색상이 검정색이 아니라 글자가 보이지도 않았고
딱 하나 있던 라벨이 가려지는 위치에 놓여있어, 뷰 자체가 제대로 안나오는 줄 알았다.
그러다 보니 클루가 없어 엄청 고생했는데
어찌어찌 타이틀 문제라는 걸 알게됐고 해결 방법은 언제나 그렇듯 생각보다 간단했다.
바로 large 사이즈 타이틀이 나오길 원치 않는 뷰 컨트롤러에 아래 코드 4번 라인과 같이 largeTitleDisplayMode를 never로 설정해주면 됐다. 그러면 라지 타이틀이 비활성화 되어 더 이상 버그가 나오지 않게 되었다! 👍🏼
1
2
3
4
5
|
override func viewDidLoad() {
super.viewDidLoad()
//라지 타이틀 해제
navigationItem.largeTitleDisplayMode = .never
}
|
cs |
이렇게 또 하나의 고비를 넘겼다 ☺️
+
폭풍 구글 서치를 하며
네비게이션바 라지 타이틀과 관련된 몇 가지 오류들이 있다는 것을 추가적으로 알게되었다.
아래 링크에 오류 종류와 해결법에 대해 나와있어서 추후에 참고해도 좋을 것 같다.
https://swiftsenpai.com/development/large-title-uinavigationbar-glitches/
그리고 다른 링크 하나는 결정적으로 아이디어를 준 블로그.
'Swfit' 카테고리의 다른 글
UIButton 코드로 작성하기 (0) | 2022.03.03 |
---|---|
NumberOfLines 값 설정이 안될 때 (0) | 2022.02.28 |
UITextView코드로 작성하기 (0) | 2022.02.24 |
UITextField 코드로 작성하기 (0) | 2022.02.23 |
TableView 사용법 (0) | 2022.02.08 |