NavigationBar의 뒤로 버튼의 문장을 몇 줄로 일괄 설정
1607 단어 swift3
전제
NavigationBar의 뒤로 버튼에 설정되어 있는 문언, 디폴트라고 단순히 이전 화면의 타이틀의 문언을 표시하거나, 문자수에 따라서는 생략되어 마음대로 "뒤로"로 설정되기도 합니다.
화면에 의해 외형이 장미 붙기 때문에, 차라리 모두 "뒤로"나 "Back"로 일괄 설정하고 싶은 경우는 많습니다.
다만, 그 때문에 모든 ViewController에서 BaseViewController를 계승해 운운하는 것은 매우 귀찮습니다.
거기서 편하게 설정하는 방법이 있는지 조사했습니다.
코드
UINavigationController의 Extension에서 일괄 설정할 수 있습니다.
아래의 코드를 프로젝트중의 어딘가에 쓰는 것만으로, 모든 NavigationController 이하의 ViewController로 유무를 말하지 않고 뒤로 버튼의 문언을 덧쓰기됩니다.
extension UINavigationController {
override open func viewDidLayoutSubviews() {
let backButton = UIBarButtonItem()
backButton.title = "もどる"
self.navigationBar.topItem?.backBarButtonItem = backButton
}
}
이미지
viewWillLayoutSubviews
의 override에서는 NavigationController의 RootVC에서만 문언 설정이 적용되지 않는 경우가 있었습니다.자세하게는 실망했습니다만, 위와 같은 코드는 Apple의 가이드라인으로부터 일탈하고 있는 것이 아닌가, 라고 하는 지적이 코드 리뷰였습니다(단지 명확하게 부정하는 근거도 없었다고 하는 것입니다). 사용할 때는 자기 책임으로. .
Reference
이 문제에 관하여(NavigationBar의 뒤로 버튼의 문장을 몇 줄로 일괄 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takkei/items/a187d2a19805ca1353b7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)