我試圖獲取不在AppDelegate中的當前顯示UIViewController
,但它似乎總是得到最初的頂部UIViewController
,而不是現在的。如何獲取當前顯示的UIViewController不在AppDelegate中?
中的AppDelegate下面的代碼並得到當前UIViewController
存在,但是當我在我的視圖控制器的任何一個使用此相同的功能不工作:
func getTopViewController() -> UIViewController
{
var topViewController = UIApplication.sharedApplication().delegate!.window!!.rootViewController!
while (topViewController.presentedViewController != nil) {
topViewController = topViewController.presentedViewController!
}
return topViewController
}
上面的代碼被作爲一個答案提供在類似的問題: Get the current displaying UIViewController on the screen in AppDelegate.m
無論我深入到多深,我只能檢索第一個視圖控制器。
我怎樣才能得到當前顯示UIViewController
?
供參考:我是不是使用UINavigationController
,只是經常UIViewController
類。
你正在使用導航控制器嗎? – Lefteris
@Lefteris:更新...謝謝 – Pangu