2012-04-11 38 views
0

我正在設計一個應用程序,它有超過4個選項的tabbar,所以我想要做的就是隱藏tabbar當任何視圖被推動,並再次顯示視圖時彈出,我試過hidesbottomwhenpushed但me.Please沒有工作,幫助iphone + hide tabbar當任何視圖推

+0

你可以pl。顯示代碼如何做到這一點? – Ilanchezhian 2012-04-11 12:38:30

+0

其實,我所做的是,我已經選擇了tabbarcontrollers選項「隱藏底部時推」通過xib.Is那裏我缺少的東西。 – Shantanu 2012-04-11 12:48:05

回答

1

使用此功能

- (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]; 

} 

當你的時候,你要顯示的調用這個函數

[self hideTabBar:self. tabbarcontroller]; 

tabbarcontroller使用此功能

- (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]; 
} 
+0

非常有用!我有一個問題:他不能隱藏UITabBar視圖而不是改變其框架? – 2012-04-11 12:55:37

+0

你是否在應用程序刪除中使用標籤欄? – Deepesh 2012-04-11 12:59:49

+0

請使用目前的模型視圖控制器(簡單的方法) – Deepesh 2012-04-11 13:01:00