美文网首页
隐藏状态栏和导航栏

隐藏状态栏和导航栏

作者: Sax_Frank | 来源:发表于2016-05-23 16:52 被阅读336次

    上星期接触新项目,有一个个人信息界面如下:


    EF2D0E98-2DDA-4817-9937-075C323A3FA6.png

    要做的就是顶部这个有背景图片的部分。过程就不说了,这里我就直接总结了3步。其实很感谢鹏哥(我组长),因为这他写的,我就是分析后搬砖过来的。

    第一步

    添加背景view,然后效果如下:

    A618ECF6-7107-4BF4-9EDD-488393C8A462.png

    顶部有了导航栏,还有状态栏,那怎么去除掉这两个东西呢?

    第二步

    去除导航栏,代码如下:

    -(void)viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:animated];
        [self.navigationController setNavigationBarHidden:YES animated:YES];
    }
    
    
    -(void)viewWillDisappear:(BOOL)animated
    {
        [super viewWillDisappear:animated];
        [self.navigationController setNavigationBarHidden:NO animated:YES];
    }
    

    第三步

    去除状态栏,这里我感觉是最难找答案的,但是牛逼的组长竟然通过以下方法做出来了

    457C1765-7D12-4D96-ADC8-693DE3634458.png
    -(void)loadView
    {
    [super loadView];
        //去掉四周空白
        if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)])
        {
            [self setEdgesForExtendedLayout:UIRectEdgeNone];
        }
    }
    

    还有改变状态栏的颜色

    -(void)viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:animated];
        [self.navigationController setNavigationBarHidden:YES animated:YES];
        [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    }
    
    
    -(void)viewWillDisappear:(BOOL)animated
    {
        [super viewWillDisappear:animated];
        [self.navigationController setNavigationBarHidden:NO animated:YES];
        [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
    }
    

    OK,就这样,最终效果如第一幅图那样,写这篇文章纯粹是为了方便下次还遇见同样问题能快速解决而来的。朋友们也可以参考下

    相关文章

      网友评论

          本文标题:隐藏状态栏和导航栏

          本文链接:https://www.haomeiwen.com/subject/ydiarttx.html