backBarButtonItem не вызывает действие - PullRequest
2 голосов
/ 19 марта 2012

Я хотел бы вызвать действие, когда нажата моя кнопка backButton, но это не так.

viewDidLoad в rootViewController:

self.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] 
                                          initWithTitle:@"Logout" 
                                          style:UIBarButtonItemStyleDone 
                                          target:self 
                                          action:@selector(logout)] autorelease];

Название правильное, но ничего не происходит.

logout (в rootViewController) заголовок:

-(void)logout;

корпус:

-(void)logout {
     NSLog(@"test");
     [[User owner] logout];
}

Может кто-нибудь сказать мне, как решить эту проблему, поскольку я понятия не имею. Спасибо

Ответы [ 2 ]

5 голосов
/ 19 марта 2012

Вы можете изменить только заголовок backBarButton. Вы можете попробовать использовать функции viewWillDisappear или viewDidDisappear, но они могут быть вызваны не только после нажатия вашей кнопки. LeftBarButton - лучшее решение, но вид этой кнопки отличается от вида backBarButton.

3 голосов
/ 19 марта 2012

backBarButtonItem существует специально для изменения внешнего вида кнопки «назад».Если вам нужно пользовательское действие, вам следует вместо этого использовать leftBarButtonItem.

...