我有一个EXTJS(4.0.7)Web应用程序,我必须将其作为iPad应用程序包装(ios 9.1)。
屏幕分为边框布局,但每当我单击文本字段时,虚拟键盘会上升,应用程序的南部区域完全不在适当位置(见图)。
这似乎是一个很好的IOS知道错误,但我发现的所有修复都是较小的应用程序/框架,您可以完全控制html / css。
解决方案通常涉及向文本字段添加侦听器(焦点/模糊),以便每当键盘显示页脚/南区域的CSS被更改时。
我添加了一个Override,每当文本字段获得焦点/模糊时总是被调用,但我不知道我必须做些什么来解决问题。
Ext.require('Ext.form.field.Text', function () {
// fix for shell south region when input gains focus triggering virtual keyboard
if (Ext.is.iPad) {
var keyboardFix= {
onFocus: function () {
//TODO keyboardFix
this.callParent();
},
onBlur: function () {
//TODO remove keyboardFix
this.callParent();
}
}
Ext.form.field.Text.override(keyboardFix);
}
});
答案 0 :(得分:1)
整个应用程序调整大小并且它打破了布局,因此,如果您检测到应用程序在iPad上运行,则会停止窗口调整大小事件。 把它放在覆盖javascript文件中:
Ext.onReady(function() {
Ext.EventManager.onWindowResize(function () {
if(Ext.is.iPad){
return false;
}
});
});