UIBarButtonItem не реагирует после нажатия - PullRequest
0 голосов
/ 09 июня 2011

С rootViewController я перехожу на UIViewController

if (self.contr == nil) {
    ExampleViewController *controller = [[ExampleViewController alloc] 
                                   initWithNibName:@"Example" 
                                   bundle:[NSBundle mainBundle]];
    self.contr = controller;
    [controller release];
}
[self.navigationController presentModalViewController:self.contr animated:YES];

В UIViewController у меня есть метод

-(IBAction) goBack:(id)sender {
    [self.navigationController dismissModalViewControllerAnimated:YES];
}

Я добавил подпись в файл .h. В файле .xib у меня есть UIToolbar с UIBarButtonItem. Я подключил кнопку к владельцу файла - goBack:

Все появляется на экране, но когда я нажимаю на кнопку, goBack не вызывается. Я также попытался сделать это программно, но я получил тот же результат - все появляется, но не реагирует на щелчок.

Есть идеи, почему это не работает?

Edit: Я только что узнал что-то невидимое за панелью инструментов. Если я нажимаю на конкретную точку (на панели инструментов), то вызывается goBack :. Поскольку я перешел на этот экран с использованием presentModelViewController, панель навигации не появляется ... но, вероятно, она есть и именно она скрывает панель инструментов.

Ответы [ 4 ]

0 голосов
/ 16 июня 2012

Если вы не достигли точки останова, это означает, что вы неправильно подключили их в xib.

0 голосов
/ 09 июня 2011

Представление контроллера модального вида не требует, чтобы вы проходили через UINavigationController.Я предлагаю вам изменить это:

[self.navigationController presentModalViewController:self.contr animated:YES];
[self.navigationController dismissModalViewControllerAnimated:YES];

на это:

[self presentModalViewController:self.contr animated:YES];
[self dismissModalViewControllerAnimated:YES];

Дайте мне знать, если это поможет.

0 голосов
/ 09 июня 2011

Попробуйте это методом goBack:

  [self.navigationController popToRootViewControllerAnimated:YES];
0 голосов
/ 09 июня 2011

Связали ли свою панель инструментов с владельцем файла?
Поскольку UIBarButton является подпредставлением UIToolbar, вам необходимо связать панель инструментов с владельцем файла.

...