뒤로 버튼 텍스트를 어떻게 제거합니까?
현재 뒤로 버튼 :
<뒤로
원하는 뒤로 버튼 :
<아무거나
이 중 어느 것도 효과가 없었습니다.
self.navigationItem.backBarButtonItem?.title = "Back"
self.backItem?.title = ""
self.navigationController?.navigationBar.backItem?.title = ""
self.navigationItem.backBarButtonItem?.title = ""
self.navigationController?.navigationItem.backBarButtonItem?.title="Back"
self.navigationController?.navigationBar.backItem?.title = ""
self.navigationController?.navigationItem.backBarButtonItem?.title
답변
뒤로 버튼은 현재 화면에 표시되는 것이 아니라 이전 뷰 컨트롤러에 속합니다 .
뒤로 버튼을 수정하려면 segue를 시작한 뷰 컨트롤러에서 푸시 하기 전에 업데이트해야합니다 .
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let backItem = UIBarButtonItem()
backItem.title = "Something Else"
navigationItem.backBarButtonItem = backItem // This will show in the next view controller being pushed
}
스위프트 3, 4 및 5 :
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let backItem = UIBarButtonItem()
backItem.title = "Something Else"
navigationItem.backBarButtonItem = backItem // This will show in the next view controller being pushed
}
또는
// in your viewDidLoad or viewWillAppear
navigationItem.backBarButtonItem = UIBarButtonItem(
title: "Something Else", style: .plain, target: nil, action: nil)
답변
다음과 같이 인터페이스 빌더에서이를 수행 할 수 있습니다.
이전보기 컨트롤러의 탐색 항목을 클릭하십시오
속성 관리자에서 뒤로 버튼 텍스트를 원하는 것으로 설정하십시오. 그게 다야 !!
답변
뒤로 버튼 텍스트는 상위 뷰 컨트롤러의 탐색 항목 제목에서 가져옵니다. 따라서 이전보기 컨트롤러의 탐색 항목 제목에서 설정 한 내용은 현재보기 컨트롤러의 뒤로 단추 텍스트에 표시됩니다. 상위 뷰 컨트롤러의 viewWillAppear 메소드에서 탐색 항목 제목으로 “”를 넣을 수 있습니다.
self.navigationItem.title = ""
또 다른 방법은
self.navigationController?.navigationBar.topItem?.title = ""
현재 뷰 컨트롤러의 viewWillAppear 메소드에서 탐색 스택이 너무 중첩 된 경우 다른 문제가 발생합니다.
답변
이 3 줄의 코드 를ViewController
뒤로 버튼 제목을 변경하려는 곳에 넣을 수 있습니다 .
당신의 override func viewDidLoad() {}
.
let backButton = UIBarButtonItem()
backButton.title = "My Back Button Title"
self.navigationController?.navigationBar.topItem?.backBarButtonItem = backButton
답변
뷰 컨트롤러에 xib 파일을 사용하는 경우 뷰 컨트롤러 클래스에서이 작업을 수행하십시오.
class AboutUsViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
edgesForExtendedLayout = []
setUpNavBar()
}
func setUpNavBar(){
//For title in navigation bar
self.navigationController?.view.backgroundColor = UIColor.white
self.navigationController?.view.tintColor = UIColor.orange
self.navigationItem.title = "About Us"
//For back button in navigation bar
let backButton = UIBarButtonItem()
backButton.title = "Back"
self.navigationController?.navigationBar.topItem?.backBarButtonItem = backButton
}
}
결과는 다음과 같습니다.
답변
나는 당신이 당신의 질문에 넣은 메소드를 어디에서 사용했는지 알지 못하지만 ViewController
클래스 (뒤로 버튼을 변경하려는)에서 viewDidLoad()
함수에서 다음 줄을 사용하면 원하는 결과를 얻을 수 있습니다 .
self.navigationController?.navigationBar.backItem?.title = "Anything Else"
결과는 다음과 같습니다.
전에
후
답변
뒤로 버튼은 현재 화면에 표시되는 것이 아니라 이전 뷰 컨트롤러에 속합니다. 뒤로 버튼을 수정하려면 밀어 넣기 전에 업데이트해야합니다. viewdidload를 추가하십시오.
스위프트 4 :
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: self, action: nil)