我在iOs 真正的设备上运行我的离子应用程序时遇到问题(在iPhone 4和iPad第4代测试)。所有这些都是在Android手机,平板电脑和iOs仿真器上完美的。
(这是我使用的方向插件:cordova-plugin-screen-orientation)
我的应用程序在纵向模式下被锁定,通过单击按钮,我会转到另一个锁定横向方向的页面。 (到目前为止一切顺利) 当我单击后退按钮返回纵向页面时,它会旋转并处于纵向模式,但窗口宽度和高度完全混乱。
我尝试过在其他主题中找到的许多配置,但它们都不适用于我:
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi" /> <!-- Works on android -->
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi, user-scalable=no" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
我还注意到肖像页面的初始宽度和高度是:
[Log] Window height = 480 width = 320
在横向页面上:
[Log 2] Window height = 320 width = 480
最后,当我回到肖像页面时,我有这个:
[Log 3] Window height = 640 width = 160
这两种方法的日志相同:
window.innerHeight / document.documentElement.clientHeight
window.innerWidth / document.documentElement.clientWidth
此主题与此相关但无法解答:stackoverflow.com/questions/18835784/iphones-orientation-change-back-to-portrait-breaks-sites-zoom
页面截屏:
Page 1 in portrait mode but with width problems
非常感谢,提前!
答案 0 :(得分:2)
我终于设法解决了这个问题。这是我的修复:
在XCode中打开iOs项目。
比编辑MainViewController.m
- (void)webViewDidFinishLoad:(UIWebView*)theWebView
{
// Black base color for background matches the native apps
theWebView.backgroundColor = [UIColor blackColor];
theWebView.scalesPageToFit = true;
theWebView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;
return [super webViewDidFinishLoad:theWebView];
}
建立并享受!