我在 Sencha Touch 2 中遇到文本字段问题,这仅在 iOS 7 中发生,并且在 iOS 6 和 Android 中运行良好。
问题是当您点击键盘打开但光标消失的字段时,它应该集中在选定的文本字段上,但它没有。您必须再次点击文本字段才能聚焦。
我已经在 iOS 6 和 android(在设备上以及在模拟器上)检查了这个问题,工作正常,但不是仅在 iOS 7 上。
有没有人有这个问题...?
这是煎茶中的错误还是我应该遗漏一些东西,请指教。
谢谢..
我在 Sencha Touch 2 中遇到文本字段问题,这仅在 iOS 7 中发生,并且在 iOS 6 和 Android 中运行良好。
问题是当您点击键盘打开但光标消失的字段时,它应该集中在选定的文本字段上,但它没有。您必须再次点击文本字段才能聚焦。
我已经在 iOS 6 和 android(在设备上以及在模拟器上)检查了这个问题,工作正常,但不是仅在 iOS 7 上。
有没有人有这个问题...?
这是煎茶中的错误还是我应该遗漏一些东西,请指教。
谢谢..
在视口元标记中添加 height="device-height",解决了这个问题。
我花了几天时间弄清楚这一点。实际上 Sencha 对 ViewPort 高度的理解存在问题。在您的 index.html 中添加一个带有以下代码的脚本块
if (window.device && parseFloat(window.device.version) == 7.0) {
document.body.style.paddingTop = "20px";
Ext.Viewport.setHeight(Ext.Viewport.getWindowHeight() - 20);
}
这为你做了两件事
此外,如果您的应用程序在纵向和横向模式下工作,您需要在 Viewport.js(或 Main.js)中添加这些行
initialize: function(){
Ext.Viewport.on('orientationchange', 'handleOrientationChange', this, {buffer: 0 });
},
handleOrientationChange: function(){
try{
if (parseFloat(window.device.version) == 7.0) {
Ext.Viewport.setHeight(Ext.Viewport.getWindowHeight() - 20);
}else{
Ext.Viewport.setHeight(Ext.Viewport.getWindowHeight());
}
}catch(e){
// do nothing
}
},
是的,确保他们的键盘弹跳是真的(如果你使用的是科尔多瓦)。这将确保您的字段不会被隐藏。
希望这对你有用。
我发现这与两件事直接相关:
centered: true
pack: 'center'
当我删除这些行时,我的应用程序开始运行良好。挑战在于找到一种替代方法来使您的面板居中。