Я знаю, что могу установить пользовательскую кнопку «Назад» из самого контроллера представления, например:
- (void)setBackButton
{
UINavigationBar* navBar = self.navigationController.navigationBar;
UIButton* backButton = [navBar backButtonWith:[UIImage imageNamed:@"navigationBarBackButton.png"]
highlight:nil
leftCapWidth:14.0];
[backButton addTarget:self action:@selector(backButtonTapped:) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:backButton] autorelease];
}
- (void)backButtonTapped:(id)sender
{
[self.navigationController popViewControllerAnimated:YES];
}
Проблема в том, что мне нужно сделать это для всех моих контроллеров представлений...
Одно из решений состоит в том, чтобы поместить этот код в некоторый BasicViewController, и все мои контроллеры представлений будут его подклассами.
Но мой вопрос: могу ли я создать подкласс самого UINavigationCotroller и установить его левую кнопку на панели навигации для этой пользовательской кнопки?