1

1.) 我需要添加 2 个按钮,一个在另一个下方。我到目前为止的工作如下所示;它只显示一个按钮,但如何在此按钮下方添加另一个按钮图像不同的按钮?

2.) 当用户点击一个按钮时,我需要导航到另一个屏幕。我怎样才能做到这一点 ?我需要相当于下面的objective-c代码吗?

View1 *view1 = [[View1 alloc] initWithNibName:@"View1" bundle:nil];
            [self.navigationController pushViewController:View1 animated:YES];

3.)如何添加导航栏(相当于iPhone中显示的导航栏)

第一个问题的代码;

{
                items:[
                    {
                        xtype:'button',
                        text: 'Submit',
                        ui:'confirm',
                        handler: function(){
                          var values = Ext.getCmp('contactForm').getValues();

                          Ext.Ajax.request({

                            url: 'http://loonghd.com/service/',

                            failure: function (response) {
 //do something
            },                              success: function (response) {
                                                                         // do something
                            }

                           });
                        }
                    }
                ]

            }
4

2 回答 2

1

也许导航视图对您有用?这是相同的想法,但它就像从 UITableView 开始:

http://docs.sencha.com/touch/2-0/#!/example/navigation-view

在 app/controller/Application.js 中,当您点击联系人时,会推送详细信息视图。所有源代码都在示例目录中。

    onContactSelect:函数(列表、索引、节点、记录){
        var editButton = this.getEditButton();

        如果(!this.showContact){
            this.showContact = Ext.create('AddressBook.view.contact.Show');
        }

        // 将记录绑定到显示联系人视图
        this.showContact.setRecord(record);

        // 将显示联系人视图推送到导航视图中
        this.getMain().push(this.showContact);
    },

于 2012-04-27T18:32:03.757 回答
1

1)为了让两个按钮一个在另一个之下,您可以添加两个单独的按钮(具有不同的 ui 属性)作为表单面板的子项。我想,这就是你需要的。

像这样,

   ....
   ....
   items : [
       {
         xtype:'button',
         text: 'Submit',
         ui:'confirm', // makes the button color as green
         handler: function(){
            var values = Ext.getCmp('contactForm').getValues();
            Ext.Ajax.request({
                 url: 'http://loonghd.com/service/',
                 failure: function (response) {
                        //do something
                  },

                 success: function (response) {
                         // do something
                 }
            });
           }
          },
          {
              xtype:'button',
              text:'Second button',
              ui:'decline', // makes the button color as red.
              listeners : {
                  tap : function() {
                     Ext.Msg.alert('You just clicked Second button');
                  }
               } 
           } 
  ]
  ....
  ....

2)3)对于您的第二个和第三个问题,navigationview是解决方案。发布的解决方案M-x很棒,但它是非常高级的示例,而且一开始也很难理解。

这是 Sencha Docs 的一个简单解决方案。navigatioview

//create the navigation view and add it into the Ext.Viewport
var view = Ext.Viewport.add({
    xtype: 'navigationview',

    //we only give it one item by default, which will be the only item in the 'stack' when it loads
    items: [
        {
            //items can have titles
            title: 'Navigation View',
            padding: 10,

            //inside this first item we are going to add a button
            items: [
                {
                    xtype: 'button',
                    text: 'Push another view!',
                    handler: function() {
                        //when someone taps this button, it will push another view into stack
                        view.push({
                            //this one also has a title
                            title: 'Second View',
                            padding: 10,

                            //once again, this view has one button
                            items: [
                                {
                                    xtype: 'button',
                                    text: 'Pop this view!',
                                    handler: function() {
                                        //and when you press this button, it will pop the current view (this) out of the stack
                                        view.pop();
                                    }
                                }
                            ]
                        });
                    }
                }
            ]
        }
    ]
});
于 2012-04-27T18:45:46.233 回答