使用Titanium,删除当前视图或弹出当前视图

时间:2012-05-08 08:43:36

标签: iphone titanium titanium-mobile pop

我必须删除同一视图中的当前视图... 如果我在父视图中我可以做到

parentView.remove(childView);

但是在子视图上我没有 parentView 所以如何弹出 childView 以获得 parentView ,因为它发生了按下iOS中的后退按钮? 请帮忙

这是我的childView文件..

function DetailView(){


var self = Ti.UI.createView({
    backgroundColor:'#fff'
});
// Create a Button.
var aButton = Ti.UI.createButton({
    title : 'aButton',
    height : '50',
    width : '100',
    top : '10',
    left : '20'
});

// Listen for click events.
aButton.addEventListener('click', function() {

     alert('\'aButton\' was clicked!');

我必须回顾一下按钮,我应该把它放在这里做什么

});

// Add to the parent view.
self.add(aButton);


return(self);
 }
module.exports = DetailView;

这是我的父视图:

    //FirstView Component Constructor
    var self = Ti.UI.createView();

    function FirstView() {
//create object instance, a parasitic subclass of Observable


var DetailView = require('ui/common/DetailView');

var data = [{title:"Row 1"},{title:"Row 2"}];
var table = Titanium.UI.createTableView({
    data:data
    });
table.addEventListener('click', rowSelected);

self.add(table);

return self;
    }

    function rowSelected()
    {
var DetailView = require('ui/common/DetailView');

//construct UI
var detailView = new DetailView();
self.add(detailView);

    }

    module.exports = FirstView;

1 个答案:

答案 0 :(得分:4)

此时您可以将parentView传递给子视图的构造函数:

//construct UI
var detailView = new DetailView(parentView);
self.add(detailView);

并点击事件

aButton.addEventListener('click', function() {
   if ( parentView != null ) {
       parentView.remove(childView);
    }
});