2010-04-21 2 views
3

Имея простой контроллер навигации (начиная с проекта на основе навигации), я создал новый View с XIB-файлом.NavigationController не выталкивает кнопку Pushed View on Back

на моем HomeViewController (главный экран со всеми опциями, как UIButton-х у меня есть:

@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]; 
} 

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

это Помещает вид в передней части стека

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

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

Что я должен сделать, поп SimpleSearchViewController?

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

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

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

Любая помощь с благодарностью, спасибо.

HomeViewController

alt text http://cl.ly/XNS/Screen_shot_2010-04-21_at_22.38.51.png

SimpleSearchViewController

alt text http://cl.ly/YDw/Screen_shot_2010-04-21_at_22.40.00.png

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

alt text http://cl.ly/XLO/Screen_shot_2010-04-21_at_22.40.21.png


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

alt text

+0

Можете ли вы добавить код SimpleSearchViewController wh если вы установите заголовок? Вы сами устанавливаете кнопку возврата? –

+0

Нет, я не это, это автоматически, все, что вам нужно сделать, это установить заголовок в событии ViewDidLoad 'self.title = @" Home ";' – balexandre

+0

Вы установили HomeViewController в качестве корневого контроллера для NavigationViewController? –

ответ

1

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

-(UINavigationItem*) navigationItem 
{ 
    UINavigationItem* item = [super navigationItem]; 
    item.title = @"search"; 
    return item; 
} 
Смежные вопросы