iOS9如何隐藏各种bar
2016-04-17 19:44
537 查看
转载自:http://www.cnblogs.com/aBigRoybot/articles/2234487.html
状态条StatusBar
1 [UIApplication sharedApplication].statusBarHidden = YES;
导航条NavigationBar
1 [self.navigationController setNavigationBarHidden:YES];
TabBar
方法1
1 [self.tabBarController.tabBar setHidden:YES];
这个方法有问题,虽然tabBar被隐藏了,但是那片区域变成了一片空白,无法被其他视图使用。
方法2
对于navigationController+tabBarController的结构,可以在push下一级的childController之前将childController的hidesBottomBarWhenPushed属性设为YES。比如,可以在childController的初始化方法中做这件事,代码如下:
1 // The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad. 2 3 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { 4 self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 5 if (self) { 6 // Custom initialization. 7 self.hidesBottomBarWhenPushed = YES; 8 } 9 return self; 10 }
方法3
http://www.azumi.cc/thread-539502-1-1.html1 - (void)makeTabBarHidden:(BOOL)hide 2 { 3 if ( [self.tabBarController.view.subviews count] < 2 ) 4 { 5 return; 6 } 7 UIView *contentView; 8 9 if ( [[self.tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]] ) 10 { 11 contentView = [self.tabBarController.view.subviews objectAtIndex:1]; 12 } 13 else 14 { 15 contentView = [self.tabBarController.view.subviews objectAtIndex:0]; 16 } 17 // [UIView beginAnimations:@"TabbarHide" context:nil]; 18 if ( hide ) 19 { 20 contentView.frame = self.tabBarController.view.bounds; 21 } 22 else 23 { 24 contentView.frame = CGRectMake(self.tabBarController.view.bounds.origin.x, 25 self.tabBarController.view.bounds.origin.y, 26 self.tabBarController.view.bounds.size.width, 27 self.tabBarController.view.bounds.size.height - self.tabBarController.tabBar.frame.size.height); 28 } 29 30 self.tabBarController.tabBar.hidden = hide; 31 // [UIView commitAnimations]; 32 }
时机
1 - (void)viewWillAppear:(BOOL)animated { 2 [self setFullScreen:YES]; 3 } 4 5 - (void)viewWillDisappear:(BOOL)animated { 6 [self setFullScreen:NO]; 7 } 8 9 - (void)setFullScreen:(BOOL)fullScreen { 10 // 状态条 11 [UIApplication sharedApplication].statusBarHidden = fullScreen; 12 // 导航条 13 [self.navigationController setNavigationBarHidden:fullScreen]; 14 // tabBar的隐藏通过在初始化方法中设置hidesBottomBarWhenPushed属性来实现。 15 }
相关文章推荐
- iOS-CocoaPods的安装和使用
- ios运行程序崩溃调试
- Mac环境配置 - iOS开发人员 -待续
- 关于ios中的setNeedsDisplay和setNeedsLayout
- iOS应用内支付(IAP)详解
- ios RunTime运用
- iOS开发--Mac下服务器搭建
- ios Category和Extension
- 解决iOS手势冲突问题
- iOS手势冲突问题
- iOS开发-Block
- 【简易版】IOS仿periscope自制狂赞飘桃心
- iOS推送证书从申请到使用
- iOS边练边学--static(作用域),copy(深浅拷贝)
- iOS安全–使用static inline方式编译函数,防止静态分析
- iOS推送本地通知 Push Notifications: local part
- 中文 iOS/Mac 开发博客列表
- iOS边练边学--级联菜单的两种实现方法
- IOS开发之----资源汇总
- iOS开发-归档