본문 바로가기
공부/스위프트

[스위프트] 내비게이션바 back button 수정하기

by 초코팅촉 2023. 10. 28.
728x90

이번에는 간단한 토막글 정도 쓰고 넘어갈겁니다.(안써놓으면 까먹을라)

 

내비게이션 컨트롤러를 쓰면서 다음 뷰로 넘어가면 뒤로가기 버튼이 좌상단에 위치하죠.

그때 당연하다면 당연하지만 그곳엔 Back이라고 써있습니다.

 

하지만 우리는 한국인...

이것을 한국어로 써야하지 않겠습니까...

 

이 Back버튼 친구는 넘어오기 전에 있던 navigation controller에 속해있다합니다.

넘어간 뷰에 나오니까 당연히 넘어온 뷰에서 수정하려고 했지만 아니였답니다?

바로 이전에 있던 뷰에 속해 있기 때문에 이전 뷰에서 수정해줘야 하는거죠.

 

1. prepare()메소드를 override해줌으로 Back버튼을 다음에 올 뷰컨트롤러에 push하기

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    let backItem = UIBarButtonItem()
    backItem.title = "Something Else"
    navigationItem.backBarButtonItem = backItem
}

 

그게 아니면 넘어와서 다음 뷰에서 수정해주면 됩니다.

2. 넘어온 viewController의 viewDidLoad나 viewWillAppear에 작성하기

navigationItem.backBarButtonItem = UIBarButtonItem(
    title: "Something Else", style: .plain, target: nil, action: nil)

 

위의 두가지 방법은 스택오버플로우를 참고했습니다.

 

참고한 스택오버플로우

https://stackoverflow.com/questions/28471164/how-to-set-back-button-text-in-ios-navigation-controller

 

How to set back button text in iOS navigation controller?

How do you remove the back button text. Current back button: < Back Desired back button: < AnythingElse None of these have worked: self.navigationItem.backBarButtonItem?.title = "Ba...

stackoverflow.com