2011-08-22 23 views
0

切換標籤在一個共同的iPhone的配置,我的應用程序的主窗口是一個標籤欄控制器,它包含多個UINavigationController的。我的絆腳石,現在正在推動和同時改變控制器:看來我可以做兩個順序,但我必須再次按下tab要更新視圖。iPhone - 推控制器,並同時

例如,我在標籤1,並且我有一個按鈕,將加載在片2,我想馬上呈現新視圖。代碼是

tabController.selectedViewController = myListsController; 
EditListViewController * editController = [[EditListViewController alloc] initWithList:l]; 
[myListsController.navigationController pushViewController:editController animated:YES]; 

有了這個代碼,新的標籤被呈現,但我沒有看到新的視圖。這可以做到嗎?

+0

真棒,我很高興它的工作。如果它適合您,請將我的答案標記爲已接受。 –

回答

0

嘗試

-(void)viewWillAppear:(BOOL)animated { 
//your code 
} 

的viewController類。

1

如果你只有2個選項卡視圖(myListsController.navigationController是你的第二個選項卡的根目錄),你可以做這樣的:

UINavigationController *nc = myListsController.navigationController; 
EditListViewController *editController = [[EditListViewController alloc] initWithList:l]; 
[myListsController.navigationController setViewControllers: 
    [NSArray arrayWithObjects:[[nc viewControllers] objectAtIndex:0],editController,nil]]; 

NSMutableArray *vcs = [[tabController viewControllers] mutableCopy]; 
[vcs replaceObjectAtIndex:1 withObject:nc]; 
[tabController setViewControllers:vcs]; 
[vcs release]; 
[self.tabController setSelectedIndex:1]; 
+0

我有5個控制器,但是像這樣的東西可以工作。我只是在同時如何做到這一點而掙扎,所以它儘可能的無縫。 – MechEngineer

+1

您可以使用我提供的代碼一次執行這兩個操作。對用戶來說,它將是無縫的。 –

+0

嗨,你是對的。出於某種原因選擇基於對象的選項卡不起作用,但是選擇了索引。我一定會在將來注意到這一點。 – MechEngineer