간단한 채팅 형식의 View를 가지는 앱을 만들어보는 도중, 아래 표시한 Back Button의 Title 을 지워야 하는 일이 생겼다.
처음엔 굉장히 간단하게 해결할 줄 알았는데, 헛다리를 짚는 바람에 꽤 시간을 오래 잡아먹었다 ㅜㅜ.
구글링을 통해 알아낸 방법은, navigationItem.backBarButtomItem
값을 새로운 UIBarButton
객체로 덮어 씌우라는 것이었다.
// 뒤로가기 버튼에 적혀있는 title 지우기.
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
위 코드를 전환된 화면(현재 화면)에 해당하는 ViewController 의 viewDidLoad()
에 작성해주고 실행을 해봤는데,
변함없이 계속 이전 화면의 title이 보여지고 있었다.
왜지??? 왜지???????를 반복하다가, 아래 stackoverflow의 글을 보고 원인을 찾을 수 있었다.
https://stackoverflow.com/questions/28471164/how-to-set-back-button-text-in-swift
밑줄 친 부분이 핵심인데, 결론은 back button은 현재 화면이 아닌, 이전 화면의 ViewController
에 속해있다는 것이다.
카카오톡이나 여타 메신저 앱 처럼, 채팅방을 클릭하면 채팅 화면으로 present
를 해주는 방식으로 화면을 구성해놓고 있었다.
그러니까 나의 경우는, 오른쪽의 채팅 화면 ViewController
가 아닌 왼쪽의 채팅방 리스트 ViewController
에 해당 코드를 작성해야 하는 것이었다.
이걸 몰라서 몇시간을 헤맸는지 ㅜㅜ.
'iOS(macOS) > Swift' 카테고리의 다른 글
[iOS/Swift] Safe Area를 색칠하는 방법 (2) | 2022.09.30 |
---|---|
[iOS/Swift] Safe Area 크기 가져오기 (iOS15~) (0) | 2022.09.14 |
[iOS/Xcode 13] Rename - Outlet 변수 이름 수정 방법 (0) | 2022.08.15 |
[iOS/Xcode 13] 시뮬레이터 키보드 보이게 하는 법 (0) | 2022.08.15 |
[Swift/문법] 고차함수 (Higher-order function) (0) | 2022.08.11 |