2010-04-26 57 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]; 
    } 
} 
相關問題