NavigationController не отображает нажатие кнопки «Назад» - PullRequest
3 голосов
/ 22 апреля 2010

Имея простой контроллер навигации (запускающий проект приложения на основе навигации), я создал новый вид с файлом XIB.

на моем HomeViewController (домашний экран со всеми параметрами как UIButton 's У меня есть:

@implementation HomeViewController

-(IBAction) optionChoosed:(UIButton *)button
{
    NSString *msg = [NSString stringWithFormat:@"Button: %d", button.tag];
    UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"Hi" message:msg delegate:nil cancelButtonTitle:@"Go away" otherButtonTitles:nil];

    switch (button.tag) {
        case 13:
            // Simple Search
            [self loadSimpleSearch]; break;

        default:
            [alert show];           
            break;
    }
    [alert release];
}

-(void)loadSimpleSearch
{
    SimpleSearchViewController *controller = 
        [[SimpleSearchViewController alloc] initWithNibName:@"SimpleSearchViewController" bundle:nil];

    [self.navigationController pushViewController:controller animated:YES];
    [controller release];
}

, ведьма прекрасно работает!

она толкает представление в начало стека!

Теперь, потому что во втором представлении SimpleSearchViewControllerУ меня есть self.title = @"myTitle"; Я получаю заголовок в NavigationBar, а также кнопку "Назад" (как у меня такая же настройка на HomeViewController)

Я думал, что NavigationViewController будет обрабатывать всплывающие окна текущего представления,но это не так.

Что мне нужно сделать , чтобы выдвинуть SimpleSearchViewController?

Где я использую [self.navigationController popViewControllerAnimated:YES];

, поскольку представление продолжается там, и ViewDidUnload никогда не вызывается.

Моя идея состояла в том, что это должно быть обработано в первом ViewController, HomeViewController, ноЯ понятия не имею, к какому методу я должен подключиться, и я прочитал документацию и не могу понять: - /

Любая помощь приветствуется, спасибо .

HomeViewController

альтернативный текст http://cl.ly/XNS/Screen_shot_2010-04-21_at_22.38.51.png

SimpleSearchViewController

альтернативный текст http://cl.ly/YDw/Screen_shot_2010-04-21_at_22.40.00.png

SimpleSearchViewController после нажатия кнопки Назад

альтернативный текст http://cl.ly/XLO/Screen_shot_2010-04-21_at_22.40.21.png


Чтобы добавить изображение из комментария, который спрашивает, является ли HomeViewController корневым контроллером для NavigationViewController

alt text

1 Ответ

1 голос
/ 03 июня 2011

Не уверен, поможет ли это, но при реализации navigationItem в коде, если вы не вызываете super, функция всплытия не будет присутствовать

-(UINavigationItem*) navigationItem
{
    UINavigationItem* item = [super navigationItem];
    item.title = @"search";
    return item;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...