9后隐藏状态栏 ios_ios 隐藏状态栏 - CSDN
精华内容
参与话题
  • [iOS]关于横屏后状态栏不显示的问题

    万次阅读 2016-04-07 20:13:21
    在做一个页面强制横屏的操作,发现状态栏不显示了,这是因为iOS系统(好像是iOS8之后)在视图横屏的时候默认把状态栏隐藏掉了,之后查了一些方法,总结如下: 1.在info.plist文件中,添加View controller-based status ...

    在做一个页面强制横屏的操作后,发现状态栏不显示了,这是因为iOS系统(好像是iOS8之后)在视图横屏的时候默认把状态栏隐藏掉了,之后查了一些方法,总结如下:

    1.在info.plist文件中,添加View controller-based status bar appearance,属性为bool,设为NO;

    2.在需要显示的ViewController中设置[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone]; 

    3.在需要隐藏的ViewController中设置[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];

    上面的隐藏/显示状态栏的方法,在iOS9之后被弃用了,采用如下的方法进行设置:

    //设置样式
    - (UIStatusBarStyle)preferredStatusBarStyle {
        return UIStatusBarStyleLightContent;
    }
    
    //设置是否隐藏
    - (BOOL)prefersStatusBarHidden {
    //    [super prefersStatusBarHidden];
        return NO;
    }
    
    //设置隐藏动画
    - (UIStatusBarAnimation)preferredStatusBarUpdateAnimation {
        return UIStatusBarAnimationNone;
    }
    

    以上三个方法,只需要在需要设置的viewController重写即可!

    但是需要注意的是,使用这个"新"的方法进行设置的时候,需要将View controller-based status bar appearance设置为YES,才会有效果,

    这样在进行iOS系统适配的时候,就很纠结了,不过庆幸的是,新方法在iOS7的时候就已经支持了:

    - (UIStatusBarStyle)preferredStatusBarStyle NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED; // Defaults to UIStatusBarStyleDefault
    - (BOOL)prefersStatusBarHidden NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED; // Defaults to NO
    // Override to return the type of animation that should be used for status bar changes for this view controller. This currently only affects changes to prefersStatusBarHidden.
    - (UIStatusBarAnimation)preferredStatusBarUpdateAnimation NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;


    展开全文
  • iOS 隐藏顶部状态栏

    万次阅读 2015-11-06 15:17:45
    为了不影响app内容的显示,将顶部的状态栏(现实信号,时间,电量)隐藏 默认状态栏一直是存在的 方法一, 适用于修改某些页面的状态栏 我们可以通过设置ViewController的属性来隐藏 在 viewDidLoad 方法中添加...

    iOS 开发过程中可能会有这样的需求。

    为了不影响app内容的显示,将顶部的状态栏(现实信号,时间,电量)隐藏

    默认状态栏一直是存在的

    方法一,

    适用于修改个别页面的状态栏

    我们可以通过设置ViewController的属性来隐藏

    在 viewDidLoad 方法中添加如下代码

        [self prefersStatusBarHidden];
        [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];


    再实现一个方法

    - (BOOL)prefersStatusBarHidden
    {
        return YES;//隐藏为YES,显示为NO
    }


    好了  我们运行一下看看效果



    方法二,

    适用于修改所有状态栏

    我们找到项目的 info.plist文件(项目自动创建的,一般默认在Supporting Files 下)

    查看一下有没有这两个key

    Status bar is initially hidden   (value:YES)

    View controller-based status bar appearance   (value:NO)

     如果没有 点击+添加

    完成之后 效果如下



    运行项目 看看效果 是不是 隐藏的,方法二出来之后所有页面不用设置 默认都是 隐藏状态栏的


    好了 大家可以加群继续讨论学习

    苹果开发群 :492222303  欢迎加入  欢迎讨论问题



    展开全文
  • iOS 9 隐藏导航条和状态栏

    千次阅读 2017-10-11 16:39:25
    状态栏的高度是20,导航栏的高度是44,如果同时存在状态栏的导航条,我们通常会设置view上的控件的位置的X 大于等于 64. ...二:隐藏状态栏: 第一步:在info.plist 文件里增加两个类型(Type)为bool 选项, Status

    状态栏的高度是20,导航栏的高度是44,如果同时存在状态栏的导航条,我们通常会设置view上的控件的位置的X 大于等于 64.


    一:隐藏导航条:self.navigationController.navigationBarHidden = YES;


    二:隐藏状态栏:

    第一步:在info.plist 文件里增加两个类型(Type)为bool 选项, Status bar is initially hidden 设为YES;View controller-based status bar appearance 设为NO;

    第二步:在想要隐藏状态栏的页面的写代码: [UIApplicationsharedApplication].statusBarHidden =YES;


    另外,值得一说的是: 隐藏状态栏和隐藏 导航条 所用到的原理与性质一样, 在一个页面A隐藏了,其它与他有关的页面B(如Apush到B)的状态栏/导航栏也会被隐藏,如果不想隐藏某个页面的状态栏/导航条,则可以在viewWillAppear:(BOOL)animated 里写[UIApplicationsharedApplication].statusBarHidden =NO/ self.navigationController.navigationBarHidden = NO;




    展开全文
  • 在开发中,当我们设置了导航栏隐藏之后,却发现状态栏也跟着透明了,如果当前页面是个可以滚动的tableview时,我们发现用户体验十分不好。就如下图:那么请看解决方法 为了体现出下文的bug,这里我把状态栏设为红色...

    在开发中,当我们设置了导航栏隐藏之后,却发现状态栏也跟着透明了,如果当前页面是个可以滚动的tableview时,我们发现用户体验十分不好。就如下图:

    这里写图片描述

    那么请看解决方法
    为了体现出下文的bug,这里我把状态栏设为红色

    - (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar{
        [self.navigationController setNavigationBarHidden:YES animated:YES];
        [self setStatusBarBackgroundColor:[UIColor redColor]];
        //[self setStatusBarBackgroundColor:[UIColor whiteColor]];
        return YES;
    }
    
    - (void)setStatusBarBackgroundColor:(UIColor *)color {
    
        UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
        if ([statusBar respondsToSelector:@selector(setBackgroundColor:)]) {
            statusBar.backgroundColor = color;
        }
    }

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    成功是成功了,可是这里设置的是全局,因此其他页面也出现这个状况,那就不好了。怎么解决呢,这里我们需要在用不到它的时候,在写一行代码清空颜色设置就行了

    -(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar{
        [self.navigationController setNavigationBarHidden:NO animated:YES];
        [self setStatusBarBackgroundColor:[UIColor clearColor]];
        [self.searchList removeAllObjects];
    }

    ok了,完美。

    展开全文
  • iOS开发之iOS13状态栏问题

    千次阅读 2019-10-29 12:24:37
    iOS状态栏时有时无,,暂时无法解决
  • WKWebView隐藏导航栏后顶部出现空白

    千次阅读 2017-09-28 11:56:57
    WKWebView加载web页面,隐藏导航,全屏显示,发现顶部出现20px的空白。记录一下解决方法,并对iOS 11也做相应调整。
  • 我这里①是隐藏导航的,②③是显示导航的。这样就会出BUG了。 当从②左侧边缘往右滑动时,如果只是稍微动一下,而没有返回到① (就是露出一点①页面之后,赶紧往往左滑,确保还停留在②页面) 这时就出问题了,...
  • 有一个播放界面是横屏的,想让它显示状态栏 怎么实现,现在旋转到横屏时自动隐藏状态栏,怎么不让它自动隐藏
  • ios11 statusbar(状态栏隐藏问题)

    千次阅读 2017-10-23 17:05:57
    升级到ios11状态栏默认为白色,比较难看所以采用 cordova-plugin-disable-ios11-statusbar 插件隐藏隐藏后出现20px间隙导致页面闪动,如图 1-1。 解决方案: 安装 cordova-plugin-ionic-webview 插件,安装...
  • iOS导航切换界面时隐藏和显示

    万次阅读 2017-03-22 19:04:05
    简单的实现导航在不同界面隐藏和显示之间切换
  • iOS旋转屏幕,不显示状态栏

    千次阅读 2016-03-25 17:45:14
    iOS默认旋转,就隐藏状态栏了,所以需要显示,就要开启  显示状态栏  [UIApplication sharedApplication].statusBarHidden = NO;  这个方向根据需求调整方向  [[UIApplication ...
  • iOS10隐藏系统状态栏

    千次阅读 2017-04-27 07:42:35
    解决方案:在 info.plist 文件中添加字段View controller-based status bar appearance:设置为 NO然后设置[UIApplication sharedApplication].statusBarHidden = YES;View controller-based status bar appearance...
  • iOS Status Bar 隐藏显示设置

    千次阅读 2018-08-22 09:40:56
    iOS 状态栏隐藏显示设置  Status Bar 隐藏  1. 在info.plist文件实现状态栏全局隐藏 在info.plist文件中添加Status bar is initially hidden 设置为 YES,这个是隐藏APP在LunchScreen(欢迎页面)是的状态栏. 在...
  • 关于iOS9.0 以后设置状态栏隐藏 ,其实只需要在你需要隐藏状态栏的控制器中重载这样一个方法就可以了 override func prefersStatusBarHidden()->Bool{ return true } 有的时候,我们并不是想一直隐藏状态栏...
  • 一、有关状态栏隐藏 ...1.1、方式一:提示:控制器之间的状态栏不会相互影响 (下面是 iOS9 之后的设置,不支持 iOS 9以前设备) <1>、在info.plist里面添加下面代码为YES View controller-based st...
  • iOS 各种控件默认高度(图示)

    万次阅读 2013-02-04 15:47:43
    1.状态栏 状态栏一般高度为20像素...用户可以隐藏状态栏,也可以将状态栏设置为灰色,黑色或者半透明的黑色。 如果需要隐藏状态栏可以使用调用: [[UIApplication sharedApplication] setStatusBarHidde
  • iOS 9 之后状态栏的显示与隐藏

    千次阅读 2016-12-15 16:40:30
    iOS9之后,状态栏的显示与隐藏废除了这个方法 setStatusBarHidden:YES //这类方法在最新的iOS9以后也被废除了。 但是有一种方法可以用 1.进行配置 2.代码隐藏 全局隐藏 // OC [UIApplication sharedApplication...
  • if (@available(iOS 11.0, *)) {  self.scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;  } else {  self.automaticallyAdjustsScrollViewIns
  • iOS_隐藏顶部状态栏方式

    千次阅读 2016-07-19 13:54:30
    iOS6和iOS7在隐藏 Status Bar 三种方式比较: Storyboard 界面上选中UIViewController,最右边Simulated Metrics找到 Status Bar 设定成 None ViewController iOS 6通过[UIApplication sha
  • ios 获取当前屏幕的方向 隐藏状态栏

    千次阅读 2012-12-04 10:41:01
    UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation; 获取当前屏幕的方向; [[UIApplication sharedApplication] setStatusBarHidden:YES];...隐藏状态栏
1 2 3 4 5 ... 20
收藏数 16,402
精华内容 6,560
关键字:

9后隐藏状态栏 ios