2012-06-29 99 views
4

在我的應用程序中,我正在排隊一些本地通知,當它們觸發時,我必須呈現模態視圖。麻煩的是我有許多視圖控制器中的任何一個當前可能是活動的,因此需要呈現模態視圖控制器。我如何確定當前正在使用哪一個?如何確定哪個視圖控制器當前處於活動狀態/顯示視圖的控制器?

我設置的導航控制器作爲窗根視圖控制器,這可以推動任何數量的其它視圖的控制器,它們中的一些本身也可以當前表現另一個視圖控制器模態。 這必須在iOS 4和5上工作。

我有很多視圖控制器,所以想避免在每個代碼中放入代碼,以檢查它們當前是否是最上面的代碼。

+0

您可能需要重新考慮你的設計,如何繼承所有ViewControllers從父控制器......以這種方式並不重要,你是爲你的父母控制器將能夠從任何地方顯示一個模式。 – doNotCheckMyBlog

回答

8

您可以查看導航控制器的topViewController屬性以找出哪個控制器位於堆棧頂部。這將是其視圖顯示的人。

由於您可能還會呈現模式視圖控制器,因此您可能會對visibleViewController屬性更感興趣,該屬性將爲您提供當前視圖的控制器,無論它是以模態方式呈現還是推入導航堆棧。

0

創建一個變量,用於存儲指向最近推送的ViewController的指針。每次你推新的ViewController時,更新這個變量。那麼你一定會知道哪一個在頂端!

相關問題