1

我有一个 3 view ABC,这三个都有一个导航栏。我需要的是当我单击 C 视图后退按钮时我想打开 A 视图但问题是当我回到 A 时。在 A 的导航栏添加 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];


}

请提前帮我解决这个问题。

4

5 回答 5

1

视图控制器在索引 0,1,2 处被推入堆栈,就像这样,这意味着 FirstViewController 在 0 索引处,SecondViewController 在 1 索引处。

所以你可以试试这个

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

0 index 对于您的第一个视图控制器。

试试这个对你很有帮助。

于 2013-05-29T07:44:21.407 回答
0

尝试

-(void)move
 {

    [navigationController popToRootViewControllerAnimated:YES];

 }
于 2013-05-29T08:42:21.747 回答
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];
}
于 2013-05-29T07:31:04.257 回答
0

我认为你应该使用

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

于 2013-05-29T07:32:39.547 回答
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..

  }   
于 2013-05-29T07:36:47.953 回答