上星期接触新项目,有一个个人信息界面如下:
要做的就是顶部这个有背景图片的部分。过程就不说了,这里我就直接总结了3步。其实很感谢鹏哥(我组长),因为这他写的,我就是分析后搬砖过来的。
第一步
添加背景view,然后效果如下:
顶部有了导航栏,还有状态栏,那怎么去除掉这两个东西呢?
第二步
去除导航栏,代码如下:
-(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];
}
第三步
去除状态栏,这里我感觉是最难找答案的,但是牛逼的组长竟然通过以下方法做出来了
-(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,就这样,最终效果如第一幅图那样,写这篇文章纯粹是为了方便下次还遇见同样问题能快速解决而来的。朋友们也可以参考下