Cordova:在混合应用程序中显示相机会导致屏幕尺寸被压扁

Posted

技术标签:

【中文标题】Cordova:在混合应用程序中显示相机会导致屏幕尺寸被压扁【英文标题】:Cordova: Displaying camera in hybrid app causes screen dimension to get squashed 【发布时间】:2016-04-21 16:19:17 【问题描述】:

科尔多瓦版本:

6.1.1

已安装的插件:

cordova-plugin-camera 2.2.0 "Camera"
cordova-plugin-compat 1.0.0 "Compat"
cordova-plugin-console 1.0.3 "Console"
cordova-plugin-dialogs 1.2.1 "Notification"
cordova-plugin-file 4.2.0 "File"
cordova-plugin-file-transfer 1.5.1 "File Transfer"
cordova-plugin-inappbrowser 1.4.0 "InAppBrowser"
cordova-plugin-network-information 1.2.1 "Network Information"
cordova-plugin-statusbar 2.1.3 "StatusBar"
cordova-plugin-whitelist 1.2.2 "Whitelist"

已安装平台:

ios 4.1.1

我正在安装了 iOS 9.3.1 的 iPod 上运行使用上述工具版本构建的 Cordova 应用程序。

通过插件打开相机时,您会看到屏幕在显示相机之前明显水平挤压。关闭相机时,屏幕仍然被压扁,唯一的恢复方法是改变方向,然后让屏幕再次展开。我检查了所有屏幕元素的宽度,除了 document.documentElement.clientWidth(返回 70px)之外,它们看起来都正确(320px 宽)。

我不确定是什么原因造成的,因此我们将不胜感激。

谢谢。

更新:

这似乎是由于 StatusBar 插件的问题。如果你从项目中删除这个插件,一切都很好。

【问题讨论】:

【参考方案1】:

这是与@ISeeBinary 提到的 StatusBar 插件相关的问题。 但是,如果你还想保留 StatusBar 插件,你可以使用没有这个问题的 2.0.0 版本,

cordova plugin rm cordova-plugin-statusbar
cordova plugin add cordova-plugin-statusbar@2.0.0

【讨论】:

以上是关于Cordova:在混合应用程序中显示相机会导致屏幕尺寸被压扁的主要内容,如果未能解决你的问题,请参考以下文章

Cordova:在 Angular 8 延迟加载实施后,应用程序无法启动,并且在初始屏幕显示白屏后

如何为phonegap混合应用程序授予相机权限?

ionic/cordova 应用程序中 IOS 10.3.3 中的屏幕闪烁问题

使用 Cordova 进行混合移动应用程序开发

科尔多瓦混合应用程序的单图像启动屏幕实现

iOS cordova应用程序在启动屏幕后挂起