iOS 导航栏遮挡状态栏 的问题

2015-03-12 14:14:06 +08:00
 yuliu
我的导航栏是自定义的,布局是从顶部开始的,在ios6上显示没问题,但由于ios7上状态栏
是半透明的,所以现在在iOS7上显示为状态栏与导航栏重叠了,用户体验相当不好,有没有什么方法解决他们的重叠问题。
注:项目中用到了自动布局!
12351 次点击
所在节点    iPhone
3 条回复
expkzb
2015-03-12 14:58:54 +08:00
topLayoutGuide
yulongyz
2015-03-12 17:01:53 +08:00
@expkzb 能说具体点吗,都关心
expkzb
2015-03-12 18:05:14 +08:00
@yulongyz

iOS7 以后,视图控制器有一个topLayoutGuide属性,用于autolayout
你可以把它想象成一根看不见的线
当只存在时间栏时,它位于时间栏底部
当存在navigationBar时,它位于bar下

做兼容时先判断有没有这个属性
若没有,则说明是 iOS6,不用考虑遮挡问题
有,则用autolayout,将不想被遮挡的视图顶部与之对其即可

ps: 为何不放弃 iOS6 呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/176350

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX