状态条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相关推荐

  1. iOS 开发中如何隐藏UINavigationBar

    有的时候,我们的视图使用了Navigation Controller ,但是主界面(rootviewcontroller)或其它push进入的界面 想使用一个全屏的view,就是说,不显示顶部的nav ...

  2. IOS开发中UIBarButtonItem上按钮切换或隐藏实现案例

    IOS开发中UIBarButtonItem上按钮切换或隐藏案例实现案例是本文要介绍的内容,这个代码例子的背景是:导航条右侧有个 edit button,左侧是 back button 和 add bu ...

  3. iOS开发中隐藏导航栏的分割线

    iOS开发中经常会遇到需要隐藏导航栏的分割线的需求,之前已经有两种方法 方法一 直接设置navigationBar的ShadowImage和BackgroundImag,这样做可以一劳永逸,在当前导航 ...

  4. iOS开发中经常用的实用代码合集

    iOS开发中经常用的实用代码合集 本文整理了,在iOS开发中我们所遇到一些开发问题的技巧类的代码,让你在开发过程中避免了很多弯路,希望能给你的开发带来帮助和启发. 1.判断邮箱格式是否正确的代码: / ...

  5. iOS开发中键盘样式和自定义键盘。

    文章目录 系统自带的样式 自定义键盘 在系统自带键盘基础上自定义键盘 完全自定义键盘 自定义全部类型键盘 系统自带的样式 在iOS开发中系统自带键盘已经有很多样式,但是有时候并不能满足我们都开发需求, ...

  6. iOS开发中常用的方法

    iOS开发中常用的方法 系统弹窗: 过期方法: UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"确认报价" ...

  7. iOS 开发中的 Flux 架构模式

    本文讲的是iOS 开发中的 Flux 架构模式, 在半年前,我开始在 PlanGrid iOS 应用程序中采用 Flux 架构(开发).这篇文章将会讨论我们从传统的 MVC 转换到Flux的动机,同时 ...

  8. iOS开发中解决第三方静态库符号冲突的终极方案

    iOS开发中解决第三方静态库符号冲突的终极方案 背景 在iOS开发的时候,经常会使用各种第三方静态库,这些库内部可能会打包了相同的第三方库.那么在链接的时候就会发生符号冲突. 例如:A厂商提供的lib ...

  9. iOS开发中一些有用的小代码

    1.判断邮箱格式是否正确的代码: //利用正则表达式验证 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRegex = @&quo ...

  10. iOS开发中自带的图标库

    iOS 开发中苹果自带的图标库,uiimage可直接调用 @available(iOS 13.0, *) @objc public extension UIImage{ /// square.and. ...

最新文章

  1. 图的邻接表存储与深度优先遍历代码实现
  2. exit()函数学习
  3. 2021牛客多校6 - Defend Your Country(点双缩点求割点)
  4. CATIA转的STP打开什么都没有_ProE打开Creo7.0模型文件的方法视频教程
  5. c语言中的内存4区域模型(堆,栈,全局区,代码区)
  6. Python之爬取58同城在售楼盘房源信息
  7. HTML代码 可在线运行查看效果的HTML在线编辑器
  8. Class6-Image Segmentation
  9. extjs6 清除grid中combo列的值
  10. 江西理工大学校园网开机自动连接,断网自动重连
  11. 转录组分析---Hisat2+StringTie+Ballgown使用
  12. LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation【论文阅读笔记】
  13. docker命令介绍,镜像制作,容器启动,进入容器操作等
  14. java 画立体图形
  15. 微信企业号用户验证php,企业号OAuth2.0验证企业用户接口
  16. C语言:窗口控制台颜色改变(不断换色)
  17. 前端HTML上传图片传BASE64数据,图片太大进行压缩
  18. 海信linux系统信息,海信公交车数据采集系统   调试信息
  19. connect的中文意思是什么_connect是什么意思?
  20. Fiddler抓取HTTPS最强攻略

热门文章

  1. 期货价格与即期价格?
  2. 团队-科学计算器-开发环境搭建过程
  3. 把触发器说透(转载)
  4. 设计模式(Design Patterns)
  5. Xcode8报错:No code signature found
  6. Flask 扩展 自定义扩展
  7. 一道容易栽坑的有趣的面试题(关于js,定时器,闭包等)
  8. Ubuntu“ System Program Problem Detected”问题
  9. 【基础知识】【中缀转逆波兰(后缀)表达式】
  10. 图解WIN7通过“磁盘管理”功能进行分区的详细过程