2012-12-19 41 views
1

在iOS中,呈現出modalViewController是超級簡單:有沒有辦法檢測出有多少個模態視圖控制器?

[self presentModalViewController:controller animated:YES]; 

或者:

[[[[[UIApplication sharedApplication] delegate] window] rootViewController] presentModalViewController:controller animated:YES]; 

在一個modalViewController(如navigationController),你可以再次提出一個modalViewController。有沒有辦法檢測出有多少個模態視圖控制器正在呈現?否則,掛鉤presentModalViewController:animated:dismissModalViewControllerAnimated:將是一個好主意?謝謝!

+0

有什麼目標?也許如果你告訴我們知道這一點,我們可以幫助你。 – Peres

回答

0

我想我找到了一種方法,找到最頂端的viewController,這將有助於解決這一問題:

+ (UIViewController*)getTopMostViewController { 
    UIWindow * window = [UIApplication sharedApplication].keyWindow; 
    UIViewController *appRootViewController = window.rootViewController; 
    UIViewController *topViewController = appRootViewController; 
    while (topViewController.modalViewController != nil) { 
     topViewController = topViewController.modalViewController; 
    } 
    return topViewController; 

}

相關問題