2016-01-13 140 views
1

我有一个EXTJS(4.0.7)web应用程序,我不得不作为iPad应用程序(ios 9.1)打包工作。

屏幕被划分为边框布局,但每当我点击一个文本框时,虚拟键盘就会上移,而应用程序的南部区域完全不在位置(请参见图片)。

这似乎是一个很好的IOS知道的错误,但是所发现的所有修复都是在小的应用程序/框架中完全控制了html/css。

解决方案通常需要在文本字段中添加监听器(焦点/模糊),以便每当键盘显示脚注/南方区域的css被更改时。

我添加了一个覆盖,只要文本字段获得焦点/模糊总是被调用,但我不知道我必须做什么来解决问题。Extjs输入隐藏在焦点上由ipad虚拟键盘

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); 
    } 
}); 

input hidden by virtual keyboard

+0

你能打这个? – llamerr

+0

我已经justed添加了答案 –

回答

1

整个应用程序是越来越调整大小和它打破了布局,因此,如果检测到应用程序是在iPad上运行你停止窗口大小调整事件。 把这个在一个覆盖JavaScript文件:

Ext.onReady(function() { 
    Ext.EventManager.onWindowResize(function() { 
     if(Ext.is.iPad){ 
      return false; 
     } 
    }); 
});