2016-01-13 138 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; 
     } 
    }); 
});