我要添加一个 View :
[aView addSubview:myNewView];
我想做的是找到在任何给定时刻显示的最顶层 View 是什么 View ,这样我就可以在其上动态添加 View 。例如,假设我的 View 堆栈如下所示:
- 模态相机 View (在所有内容之上,当前正在显示)
- 标签 View
- 导航 View
- 查看
- 表格 View
我想动态地将一些东西放在 0 处的任何 View 之上。
有谁知道如何做到这一点,或者这是否可能?
最佳答案
View 层次结构不是由堆栈而是树表示的,因此没有什么是最顶层 View
。
如果您只想在所有其他 View 之上添加一个 View ,请将其添加到 UIWindow
,如 this answer 中所做的那样:
UIWindow* mainWindow = [[UIApplication sharedApplication] keyWindow];
[mainWindow addSubview:myNewView];
如果通过 View 你真的是指 View Controller ,那么我认为没有办法“遍历”当前堆栈,因为它取决于堆栈 View Controller 的类,并且出于与 View 层次结构相同的原因: 一个 View Controller 可以有很多 child - 例如 UITabBarController
。
关于ios - 如何在不知道它是哪个 View 的情况下将 UIView 添加为最顶层 View 的 subview ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16948695/