Как добавить UiBarButtonItem в UINavigationController для всех viewController - PullRequest
1 голос
/ 04 января 2011

Интересно, можно ли добавить кнопку непосредственно в navigation controller, или мне нужно добавить кнопку из всех viewController, вставленных в navigation Controller?

Пример: у меня 3 UIViewController (VC1, VC2 и VC3), и я могу вставить эти элементы в NavigationController (NC).Если мне нужно добавить кнопку в качестве правого элемента навигации для VC1, я могу написать в viewDidLoad VC1:

UIBarButtonItem *settingsBtn = [[UIBarButtonItem alloc]initWithTitle:@"Settings" style:UIBarButtonItemStyleBordered target:self action:@selector(settings)];
self.navigationItem.rightBarButtonItem = settingsBtn;

Если мне нужна эта кнопка на NC, также для VC2 и VC3, я должен добавить этот кодв VC2 и VC3 тоже и укажите метод "настройки" в VC1, VC2 и VC3

Можно ли добавить эту кнопку в общий доступ?И как я могу определить метод настройки как общий метод?

Ответы [ 2 ]

1 голос
/ 26 октября 2013

Станьте делегатом UINavigationController.

- (void)navigationController:(UINavigationController *)navigationController
      willShowViewController:(UIViewController *)viewController
                    animated:(BOOL)animated {
UIBarButtonItem *settingsBtn = [[UIBarButtonItem alloc]initWithTitle:@"Settings"
                                                               style:UIBarButtonItemStyleBordered
                                                              target:self
                                                              action:@selector(settings)];
viewController.navigationItem.rightBarButtonItem = settingsBtn;
}
1 голос
/ 04 января 2011

Один из способов сделать это - иметь родительский класс, из которого происходят ваши UIViewController s.В родительском классе вы можете установить кнопку, скажем, viewDidLoad.На уроках ваших детей вы будете делать [super viewDidLoad]; в вашем viewDidLoad методе.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...