如何從應用程序委託爲參考獲取當前活動視圖(當前正由用戶查看的主視圖)?如何從應用程序委託獲取iOS應用程序中的活動視圖?
回答
這取決於你的應用程序的設置。
通常情況下,您的應用程序委託將具有一個主視圖控制器屬性,它可以讓您訪問它。
爲了讓您的應用程序代理
MyAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
UIView *topView = appDelegate.viewController.view;
如果您的應用程序在應用程序的委託,你可以做這樣的事情導航控制器屬性。
UIView *topView = appDelegate.navigationController.topViewController.view;
可以使用[appDelegate.navigationController.topViewController class]
登錄類控制器或獲取title屬性知道它是哪一個。
希望這可以幫助任何地方你
UINavigationController *navCnt = (UINavigationController *)self.window.rootViewController;
if([navCnt.topViewController isMemberOfClass:[WebViewController class]])
{
return UIInterfaceOrientationMaskAll;
}
else
return UIInterfaceOrientationMaskPortrait;
UIWindow *window = [[UIApplication sharedApplication] keyWindow];
UIView *topView = window.rootViewController.view;
不適用於模態瀏覽! – skywinder
的應用程序,你可以得到你的RootViewController的視圖中也是這樣的:
id<UIApplicationDelegate> appDelegate = [[UIApplication sharedApplication] delegate];
UIView *rootView = appDelegate.window.rootViewController.view;
不適用於模態視圖! – skywinder
所有頂級答案不與工作模式呈現意見! 使用此代碼來代替:
UIView * topView = [[[[UIApplication sharedApplication] keyWindow] subviews] lastObject];
適合我,謝謝:) –
我發現這一點,它爲我所有類型的塞格斯和視圖控制器的偉大工程。 (UIViewController *)getTopController {UIViewController * topViewController = [UIApplication sharedApplication] .keyWindow.rootViewController;}};}}}}
while (topViewController.presentedViewController) {
topViewController = topViewController.presentedViewController;
}
return topViewController;
}
+ (UIViewController*) topMostController
{
UIViewController *topController = [UIApplication sharedApplication].keyWindow.rootViewController;
while (topController.presentedViewController) {
topController = topController.presentedViewController;
}
return topController;
}
- 1. 使用應用程序委託來啓動iOS應用程序
- 2. 多視圖和應用程序委託?
- 3. 如何在應用程序啓動時從應用程序委託加載不同的視圖控制器類(例如,從應用程序委託)
- 4. 應用程序的委託在IOS
- 5. iOS從應用程序名稱獲取應用程序圖標
- 6. 從應用程序委託調用視圖控制器方法
- 7. 如何從iOS應用程序的健康應用程序中獲取活動的唯一標識符?
- 8. Performe,導航,從應用程序委託子視圖
- 9. 視圖控制器不是從應用程序委託呈現
- 10. 我如何測試調用iOS應用程序委託方法?
- 11. iOS4中的應用程序委託和視圖控制器
- 12. IOS應用程序視圖
- 13. 參考視圖使用故事板的應用程序委託
- 14. 如何弱化iOS應用程序委託方法的鏈接?
- 15. 如何從ios中的應用程序中的圖像庫中獲取視頻
- 16. 如何從UIViewController調用應用程序委託的方法?
- 17. 應用程序委託用法
- 18. 如何從應用程序的堆棧活動中獲取任何活動
- 19. 獲取應用程序,從應用程序請求和活動中刪除該應用程序Facebook設置
- 20. Xcode的應用程序委託給每個視圖控制器
- 21. 你如何從應用程序委託中解除UIActionSheet?
- 22. 如何從視圖中獲取應用程序?
- 23. 如何從應用程序委託重新加載/刷新視圖?
- 24. iOS 6 Objective-C應用程序委託中的Post Splash屏幕
- 25. 什麼是iOS應用程序委託中的self.window
- 26. 如何跟蹤iPhone應用程序的應用程序活動
- 27. 編譯錯誤,從應用程序的委託獲得navigationController
- 28. 如何在活動視圖中顯示我的應用程序?
- 29. 如何在我的應用程序委託中使用UIActivityViewIndicator?
- 30. 應用程序委託人看不到視圖控制器
定義 「主視圖」。一次可以在屏幕上顯示多個「UIView」對象(和子類)。你期望得到哪一個? –
假設用戶當前正在屏幕上執行特定操作,我想爲該屏幕的容器視圖獲取視圖控制器 – David
您必須自己跟蹤這一點。與視圖一樣,屏幕上可能有多個視圖控制器處於活動狀態。 –