MobileFirst混合应用程序视图与iOS7中的状态栏重叠

MobileFirst混合应用程序视图与iOS7中的状态栏重叠,ios7,ibm-mobilefirst,Ios7,Ibm Mobilefirst,对于iOS7视图重叠状态栏问题,我在本论坛中看到了一些解决方法,但是,当我们使用IBM MobileFirst平台开发混合应用程序时,我们无法使用这些解决方法。我们不喜欢引入任何特定于操作系统的代码。MobileFirst是否有任何建议的解决方案?我们可以在索引html文件中检测iOS版本,并在文档正文的空白处添加20px。有更好的解决办法吗?通常你不应该做任何事情。MFP框架检测iOS版本并自动应用CSS,以便状态栏(不是应用程序的一部分,而是在应用程序之外)不会与最顶部的内容重叠 这通常在使

对于iOS7视图重叠状态栏问题,我在本论坛中看到了一些解决方法,但是,当我们使用IBM MobileFirst平台开发混合应用程序时,我们无法使用这些解决方法。我们不喜欢引入任何特定于操作系统的代码。MobileFirst是否有任何建议的解决方案?我们可以在索引html文件中检测iOS版本,并在文档正文的空白处添加20px。有更好的解决办法吗?

通常你不应该做任何事情。MFP框架检测iOS版本并自动应用CSS,以便状态栏(不是应用程序的一部分,而是在应用程序之外)不会与最顶部的内容重叠

这通常在使用第三方框架(如jQuery Mobile)时重新引入

解决方案确实是应用特定于环境的CSS(顺便说一句,在MFP中,在您的app\iphone\CSS文件夹中,结合JavaScript进行平台检测是非常有效的)

还有一个解决方案,就是更改应用程序,这样即使使用iOS 7及以上版本,状态栏的行为也将与iOS的早期版本相同。也就是说,应该在应用程序之外,而不是应用程序的一部分

为此,您需要打开common\js\initOptions.js并添加
showIOS7StatusBar
,设置为
false


您可以在下面的IBM技术说明中阅读更多关于状态栏支持的信息:

这种css方法似乎对我并不完全有效。应用程序的初始呈现可以正常工作,但如果键盘弹出,可滚动视图将覆盖通知栏。initOptions.js中的showIOS7StatusBar似乎也没有将通知栏置于我的MobileFirst 6.3应用程序之外。然而,这种方法(编写iOS本机代码以显式限制WebView)确实对我有用


/*可选iOS 7状态栏填充符*/#wl#u ios7bar{背景色:白色;高度:15pt;位置:固定;顶部:0;宽度:100%;}body.wl#u ios7{padding top:15pt;}.mblScrollableView{页边距顶部:0px!重要;padding top:0px!重要;顶部:20px!重要;}.mblScrollableView容器{填充顶部:0px!重要;}