Worklight / iOS7屏幕上方移动导航时

时间:2013-10-30 07:46:58

标签: ios dojo ios7 ibm-mobilefirst worklight-studio

我使用IBM Worklight开发了一个应用程序并将其部署在iOS7设备上。我注意到,当导航屏幕向上移动并且状态栏在屏幕上显示1秒钟,然后屏幕下降到其自然位置。这是在我们从一个屏幕导航到另一个屏幕时发生的。任何身体都知道如何禁用此动作。这在iOS 6设备中没有发生。

enter image description here

我使用过Dojo,我的Worklight版本是6.0.0.1

的问候, V□的运行

1 个答案:

答案 0 :(得分:2)

正如Nathan Hazout在TechNote中指出的那样,Worklight将尝试在屏幕顶部允许20px以容纳iOS7状态栏。

这是通过以下方式完成的:

  1. 将CSS类“wl_ios7”添加到“body”元素
  2. 在网页浏览内容之前添加ID为“wl_ios7bar”且高度为20px的“div”元素
  3. (您可以通过使用Web Inspector查看Worklight app DOM元素来检查)

    此解决方案并不总是有效,在您的情况下,它似乎只能部分工作。

    当“showIOS7StatusBar”设置为false时,Worklight将不会尝试处理iOS7状态栏,完全将此任务留给您。值得注意的是,在iOS6及以下版本中,状态栏由操作系统自动处理。

    您的问题没有足够的信息,因此我只能提供通用建议。对我来说效果很好的是使用CSS Media Queries将“padding-top:20px”添加到“body”元素中:

    @media (min-height: 568px) and (orientation: portrait), (min-height: 320px) and (orientation: landscape) {
        #content {
            padding-top: 20px;
        }
    }
    

    这是有效的,因为在iOS7上iPhone的高度为568px,而iOS6及以下则为548px(“document.documentElement.clientHeight”)。对于横向,值分别为320px和300px。我也喜欢这个解决方案,因为它更符合RWD方法。

    根据这个建议的变化,我能够在我的小项目中相对较好地处理状态栏,但请记住,您的milage可能会有所不同。