我正在尝试将iOS中的右侧导航按钮添加到Titanium中的窗口。
代码只是Titanium提供的原始“主/详细”启动模板,然后在MasterView.js中,我尝试在导航栏中添加一个按钮。
但它不像预期的那样有效:
var addBtn = Ti.UI.createButton({
systemButton:Ti.UI.iPhone.SystemButton.ADD
});
//self.setRightNavButton(addBtn);
var win1 = Titanium.UI.currentWindow;
win1.setRightNavButton(addBtn);
失败并显示错误:
[错误]:脚本错误='未定义'不是对象(评估 MasterView.js上的'win1.setRightNavButton')(第14行)。
如何将此按钮添加到导航栏呢?我已经看过一些例子,但他们都依赖于导航栏的声明。在这种情况下,这是不可能的,因为Titanium在AplicationWindow.js中声明了特定于每个平台的导航栏,然后调用MasterView.js函数和文件,我应该定义导航栏按钮。
答案 0 :(得分:0)
Ti.UI.currentWindow
仅适用 。您遇到的错误来自于创建MasterView时尚未打开窗口的事实。
在ApplicationWindow.js中查看,您将看到在打开窗口之前创建主视图。
如果要设置导航栏项,请将它们添加到ApplicationWindow,app.js中,或将窗口传递给MasterView。
答案 1 :(得分:0)
Ti.UI.currentWindow
参数打开窗口时, url
才有效。在这种情况下,url
参数引用的控制器将Ti.UI.currentWindow
属性设置为窗口。