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

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

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

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

最佳答案

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

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

https://stackoverflow.com/questions/3843411/

相关文章:

ios - 如何拦截 MKMapView 或 UIWebView 对象上的触摸事件?

ios - 带有固定部分标题的 UITableView

objective-c - Swift 只读外部,读写内部属性

objective-c - iOS:比较两个日期

ios - 如何屏蔽 UIImageView?

ios - 了解 NSRunLoop

objective-c - Xcode 4(和依赖项)的编译、构建或存档问题

iphone - CALayers 没有在其 UIView 的边界更改时调整大小。为什么?

ios - 以编程方式检索 iPhone 上的内存使用情况

iphone - presentModalViewController :Animated is d