首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从应用程序代理获取iOS应用程序中的活动视图?

如何从应用程序代理获取iOS应用程序中的活动视图?
EN

Stack Overflow用户
提问于 2010-09-14 08:42:57
回答 7查看 46.1K关注 0票数 24

为了便于参考,我如何从app委托中获取当前活动的视图(用户当前正在查看的主视图)?

EN

回答 7

Stack Overflow用户

发布于 2013-06-01 03:12:20

代码语言:javascript
复制
UIWindow *window = [[UIApplication sharedApplication] keyWindow];
UIView *topView = window.rootViewController.view;
票数 34
EN

Stack Overflow用户

发布于 2011-11-03 01:22:24

这取决于你的应用是如何设置的。

通常,您的应用程序委托将具有一个允许您访问它的主视图控制器属性。

获取你的应用委派

代码语言:javascript
复制
MyAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];

UIView *topView = appDelegate.viewController.view;

如果您的应用程序在应用程序委托中具有导航控制器属性,则可以执行以下操作。

代码语言:javascript
复制
UIView *topView = appDelegate.navigationController.topViewController.view;
票数 9
EN

Stack Overflow用户

发布于 2017-01-13 05:55:49

我发现了这一点,它对我所有类型的segues和视图控制器都很有效。

代码语言:javascript
复制
+(UIViewController*) getTopController{
    UIViewController *topViewController = [UIApplication sharedApplication].keyWindow.rootViewController;

    while (topViewController.presentedViewController) {
        topViewController = topViewController.presentedViewController;
    }

    return topViewController;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3705410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档