2013-05-29 5 views
1

У меня есть 3 вида A B C, оба три имеют навигационную панель. моя потребность в том, когда я нажимаю кнопку «С» назад. Я хочу открыть представление, но проблема в том, что когда я вернусь к А. На панели навигации «А» добавлена ​​кнопка «С».Функция управления навигационным контроллером

Я попытался это один

UIBarButtonItem * back=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(move)]; 

self.navigationItem.leftBarButtonItem=back; 

-(void)move 
{ 

    FirstViewController * fvc=[[FirstViewController alloc]init]; 

    [[self navigationController]pushViewController:fvc animated:NO]; 


} 

пожалуйста, помогите мне это заранее спасибо.

ответ

1

View Controller проталкиваются в стек с индексом 0,1,2, как это означает, что FirstViewController при 0 индекса, SecondViewController На 1 индекс, как это.

так что вы можете попробовать это

[self.navigationController popToViewController:[[self.navigationController viewControllers] objectAtIndex:0] animated:YES]; 

индекс 0 для вашего первого View Controller.

Попробуйте этот действительно полезный для вас.

0
UIBarButtonItem * back=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(move)]; 

self.navigationItem.leftBarButtonItem=back; 

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

-(void)move 
{ 
    FirstViewController *fvc = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil]; 
    [self.navigationController pushViewController:fvc animated:YES]; 

} 

, если вы хотите, чтобы вернуться к ранее экране, а затем использовать этот код

-(void)move 
{ 
    [self.navigationController popViewControllerAnimated:YES]; 
} 
+0

код работает для меня, но на первый взгляд контроллера навигационной панели кнопку назад добавить. – Vasu

+0

Привет, Ганеш, скажите, что вы хотите вернуться или хотите перейти на следующий экран? – chandan

+0

@chandan проверить мой ответ –

0

Я думаю, вы должны использование

[self.navigationController popToViewController:[[self.navigationController viewControllers] objectAtIndex:VCIndex] animated:YES]

0

Тир это один

-(void)Back 
{ 
     NSArray *array1 = [self.navigationController viewControllers]; 
     [self.navigationController popToViewController:[array1 objectAtIndex:1] animated:YES]; 
// objectAtIndex put your as requirement like 0,1,2 etc.. 

    } 
0

Попробуйте

-(void)move 
{ 

    [navigationController popToRootViewControllerAnimated:YES]; 

} 
Смежные вопросы