我在这个问题上苦苦挣扎了好几天,最后寻求社区帮助以获得解决方案。
我在2.4.1版本中创建了Sencha touch app。应用程序有一个通常的登录屏幕,它通向一个成员中心页面,左侧有一个滚动菜单,主要区域有面板的导航栏。根据左侧菜单选择或按钮单击面板,可以在导航堆栈中添加或删除主区域中的视图。某些表单面板需要滚动才能显示内容。这些面板在所有浏览器(Chrome,Safari,Firefox)中完美滚动,但在实际设备上,相同的表单面板不会滚动。登录面板正确滚动,但只要会员中心打开,任何进一步向后滚动登录面板(退出后)都会停止工作。
对于登录视图,代码如下,工作正常,
config:{
fullscreen: false,
itemId: 'LoginView',
layout: {
type: 'vbox',
align: 'center',
pack: 'center'
},
scrollable: {
direction: 'vertical',
directionLock : true
},
items: [
{
xtype: 'toolbar',
docked: 'top',
scrollable: null,
title: 'My App',
items: [
{
会员中心在登录控制器中按如下方式加载:
Ext.Viewport.setActiveItem({
xtype: 'MemberCenterNavView'
});
会员中心有以下代码
config:{
itemId: 'MemberCenterNavView',
layout: {
type: 'card',
animation: false
},
autoDestroy: true,
fullscreen: true,
navigationBar: {
itemId: 'navBar',
docked: 'top',
items: [
....
]
},
items: [
{
xtype: 'DashboardView',
title: 'Home'
}
]
在会员中心视图中创建菜单,如下所示
//功能就在这里 createMenu:function(){
var menu = Ext.create('Ext.Menu', {
width: window.innerWidth * 0.4,
minWidth: 150,
scrollable: 'vertical',
items: [
{
xtype: 'toolbar',
docked: 'top',
scrollable: null,
title: 'Explore',
items: [
在左侧加载菜单并在导航面板按钮上单击管理
loadMenu:function(){ Ext.Viewport.setMenu(this.createMenu(),{ 方:'左', 透露:真的 }); },
初始化函数调用加载菜单
initialize:function(){ this.callParent(参数); this.loadMenu(); },
该代码基于几个网站上提供的facebook风格导航面板示例。请指教。