2

我正在嘗試爲窗口創建一個rightNavButton。如何在使用鈦合金時向iOS應用程序添加rightNavButton?

在我看來的代碼看起來是這樣的:

<Alloy> 
    <Window title="TabName" id="myWindow"> 
    <Label>Text</Label> 
    <Button id="topRight">Foo</Button> 
    </Window> 
</Alloy> 

我試圖想出一個方法來設置窗口的東西的rightNavButton,以爲控制器設置該屬性將要走的路。我可以得到一個按鈕在右上角,但它也會一直存在於窗口中。

$.myWindow.rightNavButton = $.topRight; 

我想過爲按鈕創建一個單獨的視圖,並要求它以某種方式,但我不知道如何做到這一點。我甚至不確定這是否正確。

任何幫助,將不勝感激!


編輯:

我有點有一個解決辦法了。

$.myWindow.rightNavButton = Ti.UI.createButton({title: 'topRight'}); 

控制器中的代碼工作,但它似乎打敗了使用合金的全部觀點。現在該按鈕將不再存在於XML文件中。

+0

[爲了避免與麻省理工學院開發的輕量化形式方法工具混淆,使用'合金'標籤表示]。 –

回答

5

看看我的項目在這裏https://github.com/aaronksaunders/alloy_fugitive

我將按鈕添加到view.xml用,然後就設置在控制器

$.fugitiveWindow.setRightNavButton($.add); 

在view.xml用

<Alloy> 
    <Tab id="fugitiveTab" title="Fugitives"> 
     <Window id="fugitiveWindow" title="Fugitives" class='container'> 
      <TableView id="table"/> 
      <!-- hidden and used later --> 
      <Button id="add" title="Add" top="-50dp"></Button> 
     </Window> 
    </Tab> 
</Alloy> 
+0

這看起來像是可行的。它仍然會存在該按鈕的第二個實例,對嗎? 如果控制器沒有在其他地方使用,我認爲明確調用Ti.UI.createButton會更好。 – bilalq

+0

爲什麼會有按鈕的第二個實例...它只是在導航欄中使用相同的按鈕。沒有創建新對象 –

+0

我不夠清楚。我擔心的是資源將花費在屏幕上繪製另一個按鈕呈現(雖然超出了可見範圍)。不過,我認爲這到底是件小事。 – bilalq

相關問題