我的Sencha Touch(2.3)应用中的面板上有很多文本字段。
当我使用Tab键向下浏览面板时,滚动位置会相应更新。
然而,在向下跳转页面后,当我尝试滚动面板(向上或向下)时,面板的行为就好像滚动位置仍然在顶部并且滚动变得不合适。这会导致滚动锁定或使面板内容脱离屏幕。
答案 0 :(得分:0)
通过附加在控制字段获得焦点时调用scrollTo函数的侦听器来解决此问题。这将确保正确设置滚动位置,而Sencha Touch中的标签通常不是这种情况。
MyApp.utils.Global.attachScrollToOnFocus([
'firstTextField',
'secondTextField',
'thirdTextField'
], scroller, container);
实用方法:
attachScrollToOnFocus: function(inputs, scroller, container){
var i, scroll = function(e){
var pos = -(container.getY() - Ext.get(e.target.id).getY());
if(pos > scroller.getMaxPosition().y) {
scroller.scrollToEnd();
}
else {
scroller.scrollTo(0, pos);
}
};
for(i = 0; i < inputs.length; i++) {
Ext.get(inputs[i]).on({
focus: scroll
});
}
}