在我的iOS应用中,我使用了窗口的rightNavButtons
属性在右上角添加了两个按钮。
但是,这些按钮上的点击事件仅适用于前4个点击,当您点击它们时没有任何反应。到底是怎么回事?这可能是Titanium的错误吗?
这是我的代码:
Titanium SDK版本:3.4.0.v20140916181713
合金版:1.5.1
控制器 - index.js:
var addButton = Ti.UI.createButton({ systemButton: Ti.UI.iPhone.SystemButton.ADD });
var searchButton = Ti.UI.createButton({ systemButton: Ti.UI.iPhone.SystemButton.SEARCH });
addButton.addEventListener("click", function () {
console.log("ADD was clicked!");
});
searchButton.addEventListener("click", function () {
console.log("SEARCH was clicked!");
});
$.win.setRightNavButtons([searchButton, addButton]);
$.index.open();
查看 - index.xml
<Alloy>
<TabGroup>
<Tab title="Tab 1" icon="KS_nav_ui.png">
<Window id="win" title="Tab 1">
<Label>I am Window 1</Label>
</Window>
</Tab>
<Tab title="Tab 2" icon="KS_nav_views.png">
<Window title="Tab 2">
<Label>I am Window 2</Label>
</Window>
</Tab>
</TabGroup>
</Alloy>
答案 0 :(得分:2)
找到了解决方法!
我避免使用&lt; RightNavButton s &gt;,它可以包含多个视图。
相反,我使用&lt; RightNavButton&gt;它只能包含一个子视图。
要添加两个按钮到我的导航栏,我嵌套了视图容器中的按钮(&lt; RightNavButton&gt;的单个子项。
<RightNavButton>
<View>
<Button class="i i-heart nav-button" id="favorite" onClick="toggleFavorite" right="0" />
<Button class="i i-share nav-button" id="share" right="32" />
</View>
</RightNavButton>
不再有问题了。 &lt; Button&gt;的onClick事件触发View容器中的子项。
答案 1 :(得分:1)
当我尝试执行你的代码时,3.4.0.GA / Alloy 1.5.0和iOS8 Simulator上没有为我调用事件监听器。
但是,当我将RightNavButton放在XML中时,它工作正常,每次点击它时都会调用事件监听器。对我来说看起来像个错误......
<Tab title="Tab 1" icon="KS_nav_ui.png">
<Window id="win" title="Tab 1">
<RightNavButton platform=ios>
<Button systemButton="Ti.UI.iPhone.SystemButton.ADD" onClick="closeWindow" />
</RightNavButton>
<Label>I am Window 1</Label>
</Window>
</Tab>
答案 2 :(得分:1)
测试了这段代码,它应该适合你
<Tab title="Tab 1" icon="KS_nav_ui.png">
<Window id="win" title="Tab 1">
<RightNavButtons platform=ios>
<Button systemButton="Ti.UI.iPhone.SystemButton.ADD" onClick="addHandler" />
<Button systemButton="Ti.UI.iPhone.SystemButton.SEARCH" onClick="searchHandler" />
</RightNavButtons>
<Label>I am Window 1</Label>
</Window>
</Tab>