V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yuliu
V2EX  ›  iPhone

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

  •  
  •   yuliu · 2015-03-12 14:14:06 +08:00 · 11494 次点击
    这是一个创建于 3578 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我的导航栏是自定义的,布局是从顶部开始的,在ios6上显示没问题,但由于ios7上状态栏
    是半透明的,所以现在在iOS7上显示为状态栏与导航栏重叠了,用户体验相当不好,有没有什么方法解决他们的重叠问题。
    注:项目中用到了自动布局!
    expkzb
        1
    expkzb  
       2015-03-12 14:58:54 +08:00   ❤️ 1
    topLayoutGuide
    yulongyz
        2
    yulongyz  
       2015-03-12 17:01:53 +08:00
    @expkzb 能说具体点吗,都关心
    expkzb
        3
    expkzb  
       2015-03-12 18:05:14 +08:00
    @yulongyz

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

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

    ps: 为何不放弃 iOS6 呢?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1019 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:16 · PVG 03:16 · LAX 11:16 · JFK 14:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.