2012-10-18 236 views
2

我正在爲iPhone應用程序設計UI,我們將在底部有一個標準的4選項卡欄。我們正在考慮以上下文的方式使用相同的標籤欄,以便當您點擊搜索結果時,底部的選項將更改爲與所按項目相關的上下文。iPhone子選項卡 - 導航

這種做事方式是否代表巨大的可用性問題,或者如果我們對執行情況保持一致,是否可以?整個底部

屏蔽1標籤導航:ABCD:

-a搜索結果點擊

- 新頁面集中與結果的詳細視圖

屏蔽2標籤導航跨越底部:EFGH:

回答

0

不可能在同一個tabBar上做到這一點,您可以隱藏tabBar並用所需的項目呈現另一個tabBar,您可以使用以下方法隱藏/顯示tabBar:

- (void)hideTabBar:(UITabBarController *) tabbarcontroller 
{ 
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:0.5]; 

    for(UIView *view in tabbarcontroller.view.subviews) 
    { 
     if([view isKindOfClass:[UITabBar class]]) 
     { 
      [view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)]; 
     } 
     else 
     { 
      [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)]; 
     } 
    } 

    [UIView commitAnimations]; 
} 

- (void)showTabBar:(UITabBarController *) tabbarcontroller 
{  
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:0.5]; 
    for(UIView *view in tabbarcontroller.view.subviews) 
    { 
     NSLog(@"%@", view); 

     if([view isKindOfClass:[UITabBar class]]) 
     { 
      [view setFrame:CGRectMake(view.frame.origin.x, 431, view.frame.size.width, view.frame.size.height)]; 

     } 
     else 
     { 
      [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 431)]; 
     } 
    } 

    [UIView commitAnimations]; 
} 

您可以使用這些方法是這樣的:

[self hideTabBar:self.tabBarController]; 
[self showTabBar:self.tabBarController]; 

當隱藏的TabBar,啓動一個新的使用,並將其添加到視圖。