objective-c - 获取对 iOS 应用程序中最顶层 View /窗口的引用

标签 objective-c uiview ios uiwindow

我正在创建一个可重用的框架,用于在 iOS 应用程序中显示通知。我希望将通知 View 添加到应用程序中其他所有内容的顶部,有点像 UIAlertView。当我初始化监听 NSNotification 事件并添加 View 作为响应的管理器时,我需要获取对应用程序中最顶层 View 的引用。这是我目前拥有的:

_topView = [[[[UIApplication sharedApplication] keyWindow] subviews] lastObject];

这是否适用于任何 iOS 应用程序,或者它们是否是获取顶 View 的更安全/更好的方式?

最佳答案

每当我想在其他所有内容之上显示一些叠加层时,我只需将其直接添加到应用程序窗口之上:

[[[UIApplication sharedApplication] keyWindow] addSubview:someView]

关于objective-c - 获取对 iOS 应用程序中最顶层 View /窗口的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3843411/

相关文章:

ios - 如何向下转换 UIViewController Swift

ios - 随着数组大小的增加,应用程序崩溃

ios - 在 UIView 动画中立即调用完成 block

ios - 在 Swift 中减少托管对象数组

ios - UIView 与容器 View

ios - 如何执行从 UIView 到 ViewController 的导航

iOS 应用程序内存分析

objective-c - 子类化 NSImageRep 以支持新文件格式 (pgm)

objective-c - 从 NSArray 中选择对象以使用 IBAction 进一步删除

objective-c - 比较两个 NSMutableDictionaries