繁体   English   中英

Cordova:在iOS上屏幕方向从横向更改为纵向时,Inappbrowser中断了UI

[英]Cordova : Inappbrowser breaks UI while Screen orientation changes from landscape to portrait on iOS

我正在使用cordova 5.4.1开发应用程序,我也在使用最新的InAppBrowser插件。 以下是重现该问题的步骤。

  1. 在InAppBrowser中打开URL
  2. 将应用的方向从纵向更改为横向
  3. 按InAppBrowser的完成按钮并仅以横向模式检查应用程序,您将获得一些空白部分

我正在使用iOS 9.2.1

如果有人遇到相同问题并已解决,请告诉我。

先感谢您。

我知道这有点晚了但是我想分享一下如果你或其他任何人遇到这个问题我如何解决这个问题。

正如在jcesarmobile的评论中提到的问题中指出的那样,似乎cordova-plugin-statusbarcordova-plugin-inappbrowser不能很好地配合使用。 票务状态显示已解决,尽管我仍然遇到此问题。 要修复它,你可以删除插件,或者,如果你需要插件,那么你可以添加一个事件监听器来隐藏然后在退出时再次显示它:

openUrl(url) {
  let ref = cordova.InAppBrowser.open(url, '_blank', options);

  ref.addEventListener('exit', () => {
    StatusBar.hide();
    StatusBar.show();
  })
}

StatusBar.hide()是解决此问题的方法。

编辑:正如René在此类似问题的评论中所述,iPad中存在一个空白列,其中包含上述修复程序。 为了在iPhone和iPad上完全解决此问题而不必删除插件,请将StatusBar.show()调用包装在setTimeout的秒内:

openUrl(url) {
  let ref = cordova.InAppBrowser.open(url, '_blank', options);

  ref.addEventListener('exit', () => {
    StatusBar.hide();

    setTimeout( () => {
      StatusBar.show();
    }, 1000)
  })
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM