图文讲解如何解决App的iOS 7顶部状态栏适配问题

2020-01-15 15:43:56丽君

下面看效果:

iOS,7,状态栏,status,bariOS,7,状态栏,status,bar

在看下图,你会发现一个问题:

iOS,7,状态栏,status,bar

这是什么原因导致的呢?我发现,由于window你又548变成了528吧,但是你发现tableview的高度还是548,导致了有20个像素不能显示。那有的同学会说,直接改成528不就得了么,是的,可以改,改后你发现IOS7上确实没有了缺像素的问题,但是在IOS6有直接缺半截,看下图:

iOS,7,状态栏,status,bariOS,7,状态栏,status,bar

所以呢,由我亲自测试,这种方法想要适配IOS7和IOS6有点不太靠谱。
最后解释一下几个名词设置的作用:


- (UIStatusBarStyle)preferredStatusBarStyle
{
 return UIStatusBarStyleLightContent;
}
- (BOOL)prefersStatusBarHidden
{
 return NO;
}

在plist中设置View controller-based status bar appearance  值设为YES..
这些的作用是:基于controller,动态控制statusbar的隐藏与样式。


注:相关教程知识阅读请移步到IOS开发频道。