yuliu
V2EX  ›  iPhone

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

  •  
  •   yuliu · Mar 12, 2015 · 15235 views
    This topic created in 4078 days ago, the information mentioned may be changed or developed.
    我的导航栏是自定义的,布局是从顶部开始的,在ios6上显示没问题,但由于ios7上状态栏
    是半透明的,所以现在在iOS7上显示为状态栏与导航栏重叠了,用户体验相当不好,有没有什么方法解决他们的重叠问题。
    注:项目中用到了自动布局!
    expkzb
        1
    expkzb  
       Mar 12, 2015   ❤️ 1
    topLayoutGuide
    yulongyz
        2
    yulongyz  
       Mar 12, 2015
    @expkzb 能说具体点吗,都关心
    expkzb
        3
    expkzb  
       Mar 12, 2015
    @yulongyz

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

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

    ps: 为何不放弃 iOS6 呢?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   984 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 20:15 · PVG 04:15 · LAX 13:15 · JFK 16:15
    ♥ Do have faith in what you're doing.