ios开发中如何隐藏各种bar
状态条Status Bar
[UIApplication sharedApplication].statusBarHidden = YES;
或者
// iOS3.2+支持[application setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];
statusBarHidden属性支持在iOS2.0+,setStatusBarHidden:animated:方法在iOS3.2中开始取消了,而采用了setStatusBarHidden:withAnimation:方法。
上述方法只能实现在程序跳过loading(即启动画面)的时候才能隐藏状态栏。如果想要在启动画面开始即隐藏状态栏,则要修改app的info.plist文件,新增UIStatusBarHidden键(Status bar is initially hidden),其值是YES。
同理:对于状态栏的颜色改变,也要分别从两处着手,代码[[UIApplicationsharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque];仅仅改变了启动画面之后的视图上的状态栏,要让App应用在启动画面之时就改变默认颜色,则要修改info.plist文件,新增UIStatusBarStyle键(Status bar style),其值有Opaque black style、Transparent black style和默认的Gray style。
导航条Navigation Bar
[self.navigationController setNavigationBarHidden:YES];
选项卡TabBar
方法一:
[self.tabBarController.tabBar setHidden:YES];
此方法的问题:虽然tabBar栏被隐藏了,但该区域成一片空白区,无法被其他视图使用。
方法二:
对于navigationController+tabBarController的结构,可以在push下一级的childController之前将childController的hidesBottomBarWhenPushed属性设为YES。比如,可以在childController的初始化方法中做这件事,代码如下:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization. self.hidesBottomBarWhenPushed = YES; } return self; }
方法三:
- (void)makeTabBarHidden:(BOOL)hide {if ( [self.tabBarController.view.subviews count] < 2 ) {return; } UIView *contentView; if ( [[self.tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]] ) { contentView = [self.tabBarController.view.subviews objectAtIndex:1]; }else { contentView = [self.tabBarController.view.subviews objectAtIndex:0]; }// [UIView beginAnimations:@"TabbarHide" context:nil]; if ( hide ) { contentView.frame = self.tabBarController.view.bounds; }else { contentView.frame = CGRectMake(self.tabBarController.view.bounds.origin.x, self.tabBarController.view.bounds.origin.y, self.tabBarController.view.bounds.size.width, self.tabBarController.view.bounds.size.height - self.tabBarController.tabBar.frame.size.height); } self.tabBarController.tabBar.hidden = hide;// [UIView commitAnimations]; }
时机
- (void)viewWillAppear:(BOOL)animated { [self setFullScreen:YES]; } - (void)viewWillDisappear:(BOOL)animated { [self setFullScreen:NO]; } - (void)setFullScreen:(BOOL)fullScreen {// 状态条 [UIApplication sharedApplication].statusBarHidden = fullScreen;// 导航条 [self.navigationController setNavigationBarHidden:fullScreen];// tabBar的隐藏通过在初始化方法中设置hidesBottomBarWhenPushed属性来实现 }
转载于:https://www.cnblogs.com/pengyingh/articles/2381725.html
ios开发中如何隐藏各种bar相关推荐
- iOS 开发中如何隐藏UINavigationBar
有的时候,我们的视图使用了Navigation Controller ,但是主界面(rootviewcontroller)或其它push进入的界面 想使用一个全屏的view,就是说,不显示顶部的nav ...
- IOS开发中UIBarButtonItem上按钮切换或隐藏实现案例
IOS开发中UIBarButtonItem上按钮切换或隐藏案例实现案例是本文要介绍的内容,这个代码例子的背景是:导航条右侧有个 edit button,左侧是 back button 和 add bu ...
- iOS开发中隐藏导航栏的分割线
iOS开发中经常会遇到需要隐藏导航栏的分割线的需求,之前已经有两种方法 方法一 直接设置navigationBar的ShadowImage和BackgroundImag,这样做可以一劳永逸,在当前导航 ...
- iOS开发中经常用的实用代码合集
iOS开发中经常用的实用代码合集 本文整理了,在iOS开发中我们所遇到一些开发问题的技巧类的代码,让你在开发过程中避免了很多弯路,希望能给你的开发带来帮助和启发. 1.判断邮箱格式是否正确的代码: / ...
- iOS开发中键盘样式和自定义键盘。
文章目录 系统自带的样式 自定义键盘 在系统自带键盘基础上自定义键盘 完全自定义键盘 自定义全部类型键盘 系统自带的样式 在iOS开发中系统自带键盘已经有很多样式,但是有时候并不能满足我们都开发需求, ...
- iOS开发中常用的方法
iOS开发中常用的方法 系统弹窗: 过期方法: UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"确认报价" ...
- iOS 开发中的 Flux 架构模式
本文讲的是iOS 开发中的 Flux 架构模式, 在半年前,我开始在 PlanGrid iOS 应用程序中采用 Flux 架构(开发).这篇文章将会讨论我们从传统的 MVC 转换到Flux的动机,同时 ...
- iOS开发中解决第三方静态库符号冲突的终极方案
iOS开发中解决第三方静态库符号冲突的终极方案 背景 在iOS开发的时候,经常会使用各种第三方静态库,这些库内部可能会打包了相同的第三方库.那么在链接的时候就会发生符号冲突. 例如:A厂商提供的lib ...
- iOS开发中一些有用的小代码
1.判断邮箱格式是否正确的代码: //利用正则表达式验证 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRegex = @&quo ...
- iOS开发中自带的图标库
iOS 开发中苹果自带的图标库,uiimage可直接调用 @available(iOS 13.0, *) @objc public extension UIImage{ /// square.and. ...
最新文章
- 图的邻接表存储与深度优先遍历代码实现
- exit()函数学习
- 2021牛客多校6 - Defend Your Country(点双缩点求割点)
- CATIA转的STP打开什么都没有_ProE打开Creo7.0模型文件的方法视频教程
- c语言中的内存4区域模型(堆,栈,全局区,代码区)
- Python之爬取58同城在售楼盘房源信息
- HTML代码 可在线运行查看效果的HTML在线编辑器
- Class6-Image Segmentation
- extjs6 清除grid中combo列的值
- 江西理工大学校园网开机自动连接,断网自动重连
- 转录组分析---Hisat2+StringTie+Ballgown使用
- LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation【论文阅读笔记】
- docker命令介绍,镜像制作,容器启动,进入容器操作等
- java 画立体图形
- 微信企业号用户验证php,企业号OAuth2.0验证企业用户接口
- C语言:窗口控制台颜色改变(不断换色)
- 前端HTML上传图片传BASE64数据,图片太大进行压缩
- 海信linux系统信息,海信公交车数据采集系统 调试信息
- connect的中文意思是什么_connect是什么意思?
- Fiddler抓取HTTPS最强攻略