隐藏状态栏和导航栏

2016-05-23  本文已影响336人  Sax_Frank

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


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

上一篇下一篇

猜你喜欢

热点阅读