2016-06-26 2 views
0

사용자 정의 탐색 항목 (두 개의 라벨 및 활동 표시기가있는 제목보기)이 필요한 앱에서 whats 앱과 비슷한 앱을 만들고 있습니다. 대리자 메서드도 구현해야합니다. 앱에는 모든보기 컨트롤러가 스택 된 기본 탐색 컨트롤러가 있습니다.맞춤 아웃 탐색 앱

나는 하나의 사용자 정의에 UIView를 생성하고이 같은 모든 뷰 컨트롤러에 추가 :

let myCustomView = MyCustomView() 
myCustomView.delegate = self 
self.navigationItem.titleView = myCustomView; 

이 일을하고 각각의 모든 뷰 컨트롤러의 메소드를 위임 듣고 방지하기 위해 어떤 방법이 있나요? 이것을 appDelegate에 추가하거나 사용자 정의 탐색 컨트롤러를 만들어야합니다. 이것을 성취하는 효과적인 방법은 무엇입니까?

답변

1

AppDelegate 대신 BaseViewController을 만들어보세요. 그 후 원하는 맞춤 탐색 설정을위한 하나의 함수를 만듭니다.

class BaseViewController : UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
    } 

    func customNavigationTitle() { 
     let myCustomView = MyCustomView() 
     myCustomView.delegate = self 
     self.navigationItem.titleView = myCustomView 
    } 
} 

지금 당신이 직접이 당신이 BaseViewController의 모든 delegate 및 기타 방법에 액세스 할 수 있도록 그 기능

class ViewController : BaseViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     self.customNavigationTitle() 
    } 
} 

에 액세스 할 수 있도록이 BaseViewControllerViewController 모두의 Parent로 사용합니다.

희망이 도움이 될 것입니다.