使用Titanium的窗口中心的iOS后退按钮

时间:2013-04-01 07:41:40

标签: titanium titanium-mobile

我正在尝试在窗口中央放置一个后退按钮。我能够使用图像视图实现相同的功能。但是,导航到以前的窗口除了最后一个窗口都失败了。

假设我已经遍历了三个窗口A-> B-> C。从窗口'C'开始,按钮将我带到窗口'B'。但是从窗口'B'点击相同的按钮就没有回应(理想情况下它应该把我带到窗口'A')

我使用的代码如下

{
    var imgView = Ti.UI.createImageView({
        top:'50%',
        left : 0,
        image : "icons/back.png"
    });


    imgView.addEventListener('click', function(){
        self.close();
    });
}

1 个答案:

答案 0 :(得分:0)

在包含新窗口的每个文件中添加以上行,因为您使用url方法打开新窗口。

var currentWindow = Ti.UI.currentWindow;

然后关闭窗口,如下所示

imgView.addEventListener('click', function(){
    currentWindow.close();
});

这将关闭当前窗口,因为currentWindow代表活动窗口

我将添加工作示例:

<强> app.js

var win = Ti.UI.createWindow({
    backgroundColor : 'white'
});

var back = Ti.UI.createButton({
    title : 'To win1 ',
    width   : '70%'
});

back.addEventListener('click', function(){
    var win1 = Ti.UI.createWindow({
        url : 'win1.js',
        backgroundColor : 'white',
        layout  : 'vertical'
    });
    win1.open();
});
win.add(back);
win.open();

<强> win1.js

var self = Ti.UI.currentWindow;

var back = Ti.UI.createButton({
    title : 'Back to home',
    top     : 20,
    width   : '70%'
});

var next = Ti.UI.createButton({
    title : 'To win2',
    top     : 20,
    width   : '70%'
});

self.add(back);
self.add(next);

back.addEventListener('click',function(){
    self.close();
});

next.addEventListener('click', function(){
    var win2 = Ti.UI.createWindow({
        url : 'win2.js',
        backgroundColor : 'white',
        layout      : 'vertical'
    });
    win2.open();
});

<强> win2.js

var self = Ti.UI.currentWindow;

var back = Ti.UI.createButton({
    title : 'Back to win1',
    top     : 20,
    width   : '70%'
});

self.add(back);

back.addEventListener('click',function(){
    self.close();
});