我正在尝试将默认的“后退”按钮替换为Titanium iOS项目中的自定义图像按钮。
我在选项卡中打开了几个窗口,其中包含以下代码:
currentTab.open(childWindow);
我如何" pop"回到上一个(父)窗口?
我尝试了以下内容:
childWindow.close();
和
currentTab.close(childWindow);
但两人都不能工作。我做错了什么?
答案 0 :(得分:1)
他们在Ti SDK 6.2中添加了一个名为popToRootWindow
的方法
参考:http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.Tab-method-popToRootWindow
答案 1 :(得分:0)
如果不检查实际代码,很难说你身边出了什么问题。然而,这里是代码片段,它完全符合您的要求。它允许在一个选项卡中打开两个窗口。第二个窗口上的onclick侦听器简单地关闭此窗口。它反过来触发第一个窗口出现。也许在您的代码中发现问题可能会有所帮助。
以下是index.js
的内容:
$.index.open();
var tabGroup = Titanium.UI.createTabGroup();
var win1 = Titanium.UI.createWindow({title: 'Window 1'});
win1.add(Titanium.UI.createLabel({text: 'Window 1'}));
var button1 = Titanium.UI.createButton({bottom: 0, title: 'Next'});
win1.add(button1);
button1.addEventListener('click', function (e) {
var win2 = Titanium.UI.createWindow({title: 'Window 2'});
win2.add(Titanium.UI.createLabel({text: 'Window 2'}));
var button2 = Titanium.UI.createButton({bottom: 0, title: 'Back to Window 1'});
win2.add(button2);
button2.addEventListener('click', function (e) {
win2.close();
});
tab.open(win2);
});
var tab = Titanium.UI.createTab({title: 'Tab 1', window: win1});
tabGroup.addTab(tab);
tabGroup.open();
注意:此示例的index.xml
文件非常简单:只有一个空元素Window class="container"
答案 2 :(得分:0)
安德鲁的回答有所帮助,我用win.close()
函数调用解决了这个问题。
它给出以下错误的原因:
未定义不是变量。
是因为我试图使用错误的引用访问窗口变量。
this.backButton.addEventListener("click", function() {
this.win.close();
});
this.win
是子窗口的变量,愚蠢地我在backButton事件监听器中使用了相同的内容,其中this
被识别为回调函数,它给了我上述错误。
只需将其更改为以下内容即可。
_this = this;
this.backButton.addEventListener("click", function() {
_this.win.close();
});