【问题标题】:Worklight / iOS7 Screen Shifted above While navigationWorklight / iOS7 屏幕在导航时上移
【发布时间】:2013-10-31 18:31:15
【问题描述】:

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

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

问候, V@run

【问题讨论】:

  • 请编辑问题并进一步解释“从一个屏幕导航到另一个屏幕” - 示例?
  • 这是原生实现的吗?道场? jQuery 移动?没有第三方框架?仍然需要更多信息。还要添加您的确切 Worklight 版本。您拥有的所有信息 - 将其添加到问题中。
  • 嗨 Idan,导航后,显示网络连接和时间的状态栏在屏幕导航栏上下降 1 秒,然后如上所示正确调整。
  • 是的,Idan,我使用过 Dojo Mobile 框架。
  • Worklight 版本:6.0.0.1

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


【解决方案1】:

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

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

  1. 将 CSS 类“wl_ios7”添加到“body”元素
  2. 在 Web 视图内容之前添加一个 id 为“wl_ios7bar”且高度为 20 像素的“div”元素

(您可以通过使用 Web Inspector 查看 Worklight 应用程序 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 的方法。

有了这个建议的变化,我已经能够在我的小项目中相对较好地处理状态栏,但请记住,你的里程可能会有所不同。

【讨论】:

    猜你喜欢
    • 2021-06-05
    • 2019-01-22
    • 1970-01-01
    • 1970-01-01
    • 2011-10-28
    • 1970-01-01
    • 2018-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多