2014-04-11 86 views
0

我有一個應用程序,其中我有一個帶有4個導航控制器的標籤欄控制器。如何在TabBarController中的選定視圖控制器上添加視圖?

_tabbarcontroller = [[UITabBarController alloc] init]; 
_tabbarcontroller.viewControllers = [NSArray arrayWithObjects:vcontroller,xnav,ynav,znav,nil]; 

和一切工作正常。現在,我想在選項卡欄中選擇第0項時在選定視圖控制器上添加視圖;這必須通過tabbarcontroller。我試過的:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 
{ 
    NSUInteger selectedIndex = [_tabbarcontroller.viewControllers indexOfObject:self]; 
    UITabBar *tabBar = self.tabbarcontroller.tabBar; 
    UITabBarItem *item0 = [tabBar.items objectAtIndex:0]; 

    if(tabBar.selectedItem==item0) 
    { 
     tabBarController.selectedIndex=selectedIndex; 
     FViewController *fviewcontroller =[[FViewController alloc] initWithNibName:@"FViewController" bundle:nil]; 
     [_tabbarcontroller.view addSubview: fviewcontroller.view]; 
    } 
} 

但它看起來不對。我希望它被添加到當前選定的視圖控制器上,當選擇外側時,小視圖也需要刪除它。有人可以指導我嗎?

+0

您試圖顯示哪種視圖?它有多個UIControl元素嗎?或者,它只是顯示靜態數據? – GoGreen

+0

@its用3個按鈕的小視圖,通過保留作爲覆蓋...以便可以看到背景.. – hacker

+0

您可以參考此[stackoverflow答案](http://stackoverflow.com/a/9046159/2954866 )。我認爲這就是你要找的。 – GoGreen

回答

0

實現此目的的簡單方法是使用彈出窗口並使用tabbar控制器的第0個索引進行顯示。 在
中加入此彈出框 當tabbarcontroller的選定索引爲0時,tabbarcontroller.selectedViewController.view。

+0

在第0個索引中,所選視圖控制器始終是第0個索引 – hacker

相關問題