从第三个视图控制器弹出到第一个视图控制器(根视图控制器)navigationItems没有被更改

时间:2010-04-26 11:53:46

标签: objective-c uinavigationcontroller

我正在使用导航栏,我根据用户选择的内容推送多个视图。现在我需要从第三个控制器弹出第一个视图控制器。应用程序弹出到第一个视图控制器,但navigationItems没有被更改为它在第二个视图控制器,但我需要更改navigationItems。

我使用的代码:appdelagte.h

Bool isDelete;
@property(nonatomic)Bool isDelete;

appDelegate.m

@synthesize isDelete;

thirdViewController:

-(void)viewWillAppear:(Bool)animated {
  appDelegate.isDelete=YES;
  [self.navigationController popViewControllerAnimated:YES];
}

secondViewController.m

-(void)viewWillAppear:(Bool)animated {
    if(appDelegate.isDelete==YES)
    {
        [self.navigationController popViewControllerAnimated:YES];
    }
}

这里弹出到第一个视图控制器但导航项目没有被改变,因为它在secon视图控制器中

任何人都帮我解决这个问题。谢谢。

1 个答案:

答案 0 :(得分:8)

可能是你可以在不显示第三个ctrl的情况下执行此操作吗?就像这样做,在第二个ctrl中检查if(appDelegate.isDelete==YES)

- (void) showThird {
    if(appDelegate.isDelete == NO) {
        MyThirdCtrlClss *ctrl = [[MyThirdCtrlClss alloc] init];
        [self.navigationController pushViewController:ctrl animated:YES];
        [crel release];
    } else {
        [self.navigationController popToRootViewControllerAnimated:YES];
    }
}