在 UIViewController iOS 中获取 baseview 的引用

Posted

技术标签:

【中文标题】在 UIViewController iOS 中获取 baseview 的引用【英文标题】:Get reference of baseview in a UIViewController iOS 【发布时间】:2015-02-09 06:56:49 【问题描述】:

如何获得对 UIViewControllers baseview 的引用。我试过这个

UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];

UIView *  baseView = keyWindow.rootViewController.view;

但是在 baseView 变量中,我得到的是 UILayoutContainerView 而不是 UIViewController 内的视图。如果我在某处错了,请纠正我。

【问题讨论】:

【参考方案1】:

使用AppDelegate's instance 获取UIWindow,然后从中获取rootViewController,如下所示:

UIViewController *viewController = yourObjAppDelegate.window.rootViewController;

UIView *baseView = viewController.view;

NSLog(@"%@ : %@",viewController,baseView);

【讨论】:

以上是关于在 UIViewController iOS 中获取 baseview 的引用的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 5 中释放 UIviewController 对象?

iOS - 在 UINavigationController 中将 UIViewController 显示为全屏

在 iOS8 中未调用 UIViewController 设备旋转委托方法

IOS。如何在每个 UIViewController 上启用和禁用旋转?

在 iOS 11 中,UIViewController 的 transitionFromViewController 从不调用它的完成块

UIViewController 动画过渡在 iOS8 中失败