可以用動畫隱藏它嗎?如何以編程方式隱藏UITabBarController?
9
A
回答
22
UITabBar繼承自UIView,因此您可以隱藏它並使其像使用標準UIView一樣進行動畫處理。
- (void) hideTheTabBarWithAnimation:(BOOL) withAnimation {
if (NO == withAnimation) {
[theTabBar setHidden:YES];
} else {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDelegate:nil];
[UIView setAnimationDuration:0.75];
[theTabBar setAlpha:0.0];
[UIView commitAnimations];
}
}
20
5
您也可以使用屬性檢查器中隱藏:
但與動畫。
+0
這是簡單和完美的 – 2013-12-17 10:32:54
0
另一種解決辦法我用: 調用的方法,當你想隱藏菜單:
//Show Tab Bar
[self showTabBar:self.tabBarController];
//If You Want to Hide/Show Navigation Bar Also
[self.navigationController setNavigationBarHidden: NO animated:YES];
//Hide Tab Bar
[self hideTabBar:self.tabBarController];
//If You Want to Hide/Show Navigation Bar Also
[self.navigationController setNavigationBarHidden: YES animated:YES];
方法:
- (void)hideTabBar:(UITabBarController *) tabbarcontroller
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
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.3];
for(UIView *view in tabbarcontroller.view.subviews)
{
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];
}
1
-(void)hideTabBar
{ UITabBarController * tabbarcontroller= appDelegate.tabBarVC;
if (tabbarcontroller.tabBar.isHidden)
{
return;
}
tabbarcontroller.tabBar.hidden=YES;
CGRect frm=tabbarcontroller.view.frame;
frm.size.height += tabbarcontroller.tabBar.frame.size.height;
tabbarcontroller.view.frame=frm;
}
-(void)showTabBar
{ UITabBarController * tabbarcontroller=appDelegate.tabBarVC;
if (!tabbarcontroller.tabBar.isHidden)
{
return;
}
CGRect frm=tabbarcontroller.view.frame;
frm.size.height -= tabbarcontroller.tabBar.frame.size.height;
tabbarcontroller.view.frame=frm;
tabbarcontroller.tabBar.hidden=NO;
}
here appDelegate is = (AppDelegate *) [[UIApplication sharedApplication] delegate]
tabBarVc is UITabBarController *tabBarVC defined as property in app delegate
hope this helps
相關問題
- 1. 如何隱藏UITabBarController
- 2. 如何隱藏uitabbarcontroller
- 3. 以編程方式隱藏Woocommerce產品
- 4. 以快速編程方式隱藏TextFields?
- 5. 以編程方式隱藏UIAlertView?
- 6. 從NSStatusItem以編程方式隱藏NSMenu
- 7. 以編程方式隱藏SPField
- 8. 以編程方式隱藏UITabBar
- 9. 以編程方式隱藏和取消隱藏按鈕
- 10. 如何以編程方式隱藏視圖?
- 11. 如何以編程方式隱藏按鈕
- 12. 如何以編程方式隱藏文件夾中的Android
- 13. 無論如何要以編程方式隱藏jQuery UI按鈕?
- 14. 如何以編程方式隱藏LabVIEW前面板元素?
- 15. 如何以編程方式在「隱藏」中設置文件C
- 16. 如何以編程方式從底部欄中隱藏項目
- 17. 如何在Android中以編程方式顯示/隱藏windowActionBar?
- 18. 如何以編程方式隱藏UISplitViewController的主部分?
- 19. 如何在iphone中以編程方式隱藏鍵盤
- 20. 如何隱藏鍵盤並以編程方式更新EditTextPreference?
- 21. 如何以編程方式在Android中隱藏佈局/視圖
- 22. 如何以編程方式隱藏Android上的來電顯示
- 23. 如何以編程方式顯示/隱藏ExtJS.Toolbar按鈕
- 24. 如何以編程方式隱藏導航抽屜菜單項?
- 25. 縱向UISplitViewController:如何以編程方式隱藏主Popover?
- 26. 如何用動畫以編程方式隱藏和顯示WKInterfaceGroup?
- 27. 如何在android中以編程方式隱藏文件夾
- 28. 如何在Objective-C中以編程方式隱藏/顯示UITableView?
- 29. 隱藏UITabBarController?
- 30. 如何以編程方式在UITabBarController之間切換
我穿上提出如下解決方案在這裏的變化:HTTP: //sackoverflow.com/questions/4031804/how-to-hide-tab-bar-programatically-and-then-expand-view-to-fit/15855340#15855340 – juggler 2013-04-06 19:57:20