• iOS9如何隐藏各种bar


    转载自: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.html

    复制代码
     1 - (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 }
  • 相关阅读:
    Oracle PL/SQL
    plsql命令行窗口执行脚本打印输出
    Oracle 数据库维护管理之--数据库基本信息表管理与优化参考1
    Oracle 数据库维护管理之--dbms_lock
    Oracle sys或者system的默认密码
    Docker学习--docker的基本认识
    正则表达式--指定时间格式校验
    Docker学习--基本docker命令
    HTTP协议以及HTTP请求中8种请求方法
    如何查看class文件的jdk版本
  • 原文地址:https://www.cnblogs.com/wujie123/p/5401923.html
Copyright © 2020-2023  润新知