2010-04-26 60 views
1

我正在使用导航条,根据用户选择的内容推送几个视图。现在我需要弹出到第一个视图控制器从第三个控制器。应用程序弹出到第一个视图控制器但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]; 
    } 
} 

这里流行到第一视图控制器,但navigationItems不被改变,因为它是在塞康视图控制器

任何一个可以帮助我解决this.Thanks提前。

回答

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]; 
    } 
} 
相关问题