Xcode4 Sencha将列表组件添加到视图后触摸空白屏幕

Xcode4 Sencha将列表组件添加到视图后触摸空白屏幕,xcode4,ios5,cordova,sencha-touch,Xcode4,Ios5,Cordova,Sencha Touch,我正在尝试向Sencha Touch中的视图添加列表组件。在我尝试添加列表组件之前,应用程序一直正常运行。将列表添加到视图后,应用程序加载(显示启动屏幕),然后仅显示白色屏幕 我正在使用Sencha Touch、XCode 4、iOS 5 SDK和PhoneGap 1.3.0 提前谢谢 以下是视图的代码: plantanalyzer.views.BuildingList = Ext.extend(Ext.Panel, { dockedItems: [{ dock: 'to

我正在尝试向Sencha Touch中的视图添加列表组件。在我尝试添加列表组件之前,应用程序一直正常运行。将列表添加到视图后,应用程序加载(显示启动屏幕),然后仅显示白色屏幕

我正在使用Sencha Touch、XCode 4、iOS 5 SDK和PhoneGap 1.3.0

提前谢谢

以下是视图的代码:

plantanalyzer.views.BuildingList = Ext.extend(Ext.Panel, {
dockedItems: [{
            dock: 'top',
            html: '<img src="images/logo.jpg"/>'
        },
        {
        xtype: 'list',
        itemTpl : '{name}',
        grouped : true,
        indexBar: true,
        store: newStore

    }]
});

您可以在正文加载时创建存储,即在加载列表后,以便在需要列表时newStore对象为空。 请输入以下代码:

 Ext.regModel('Plants', {
        fields: ['name', 'efficiency']
    });

    newStore = new Ext.data.JsonStore({
        model  : 'Plants',
        sorters: 'name',

        getGroupString : function(record) {
            return record.get('name')[0];
        },

        data: [
            {name: 'Milwaukee',   efficiency: .85},
            {name: 'New York',    efficiency: .65},
            {name: 'St Paul',     efficiency: .73},
            {name: 'Phoenix',     efficiency: .35},
            {name: 'Los Angeles', efficiency: .45},
            {name: 'Miami',       efficiency: .75},
            {name: 'London',      efficiency: .39},
            {name: 'Moscow',      efficiency: .95},
            {name: 'Hogwarts',    efficiency: .99}
        ]
    });
就在:

plantanalyzer.views.BuildingList = Ext.extend(Ext.Panel, {
dockedItems: [{
            dock: 'top',
            html: '<img src="images/logo.jpg"/>'
        },
        {
        xtype: 'list',
        itemTpl : '{name}',
        grouped : true,
        indexBar: true,
        store: newStore

    }]
});
plantanalyzer.views.BuildingList=Ext.extend(Ext.Panel{
摘要:[{
码头:“顶部”,
html:'
},
{
xtype:'列表',
itemTpl:“{name}”,
对,,
indexBar:是的,
商店:新闻商店
}]
});
检查是否真的是这样

另一个建议是,您应该将列表放在面板的项目中,而不是dockedItems中。 顺便说一句,你的代码结构不好。你应该遵循MVC模式。
选中此项和此项。

在加载正文时创建存储,即加载列表后,以便在需要列表时newStore对象为空。 请输入以下代码:

 Ext.regModel('Plants', {
        fields: ['name', 'efficiency']
    });

    newStore = new Ext.data.JsonStore({
        model  : 'Plants',
        sorters: 'name',

        getGroupString : function(record) {
            return record.get('name')[0];
        },

        data: [
            {name: 'Milwaukee',   efficiency: .85},
            {name: 'New York',    efficiency: .65},
            {name: 'St Paul',     efficiency: .73},
            {name: 'Phoenix',     efficiency: .35},
            {name: 'Los Angeles', efficiency: .45},
            {name: 'Miami',       efficiency: .75},
            {name: 'London',      efficiency: .39},
            {name: 'Moscow',      efficiency: .95},
            {name: 'Hogwarts',    efficiency: .99}
        ]
    });
就在:

plantanalyzer.views.BuildingList = Ext.extend(Ext.Panel, {
dockedItems: [{
            dock: 'top',
            html: '<img src="images/logo.jpg"/>'
        },
        {
        xtype: 'list',
        itemTpl : '{name}',
        grouped : true,
        indexBar: true,
        store: newStore

    }]
});
plantanalyzer.views.BuildingList=Ext.extend(Ext.Panel{
摘要:[{
码头:“顶部”,
html:'
},
{
xtype:'列表',
itemTpl:“{name}”,
对,,
indexBar:是的,
商店:新闻商店
}]
});
检查是否真的是这样

另一个建议是,您应该将列表放在面板的项目中,而不是dockedItems中。 顺便说一句,你的代码结构不好。你应该遵循MVC模式。
检查这个和这个。

就是这样,我感谢您抽出时间来帮助我!你将成为我的私人家教。我很高兴能帮上忙。你可以在这里找到很好的教程和指南:这里:。另外,您可能希望开始学习Sencha Touch 2而不是1.1。就是这样,我感谢您抽出时间来帮助我!你将成为我的私人家教。我很高兴能帮上忙。你可以在这里找到很好的教程和指南:这里:。此外,您可能希望开始学习Sencha Touch 2,而不是1.1。