2017-05-08 76 views
0

有沒有辦法獲得當前打開的窗口?獲取當前打開的鈦合金窗口?

在控制器中可以使用this.getView()來獲取該控制器的相對視圖。

由於控制器可以打開項目中的任何視圖,我不想知道控制器的視圖,我想要頂部打開(聚焦)視圖。

回答

1

您可以使用$ .getView()從它的伴隨控制器訪問視圖。如果你想通過ID訪問一個項目,例如一個ID爲「myTextField」的TextField將是$ .myTextField。

如果你想知道當前頂級視圖,那麼你應該知道你的應用正在做什麼 - 因爲你剛剛打開的控制器/視圖將是最頂層的視圖。

爲什麼你需要知道最頂級的視圖?

+0

正如我通過Slack所說:「應用程序的結構有點亂,應用程序無法控制視圖/控制器關係發生的情況。」 – Machado

+0

應用程序需要重寫/重構 - 合金應用程序不應該是一團糟! ;) – jasonkneen

+0

這是我真正知道的一件事。呵呵 這樣做的任何提示? – Machado

0

你需要跟蹤所有打開的窗口,最好是他們的控制器。

this answer可能會給你一些見解。

+0

在合金中,這不是必需的。你不需要跟蹤所有打開的窗口,如果你這樣做,不正確地做它可能導致內存泄漏和其他問題。 – jasonkneen

+0

我不關注,考慮這種情況: 你想顯示一個視圖,從當前窗口的底部開始動畫,如何獲得當前打開的窗口以嵌入該視圖而不跟蹤打開/關閉窗戶並始終在最上方的窗戶上放置一個手柄? 合金如何幫助實現這一目標,而無需跟蹤每個窗口的開放式關閉電話? @jasonkneen,謝謝 – TheFuquan

+0

你可以創建一個透明的窗口來保存視圖,只需.open()。我已經使用這種技術在iOS或Android上顯示進度指示器和Toast通知。 – jasonkneen