0

我想添加一个视图:

[aView addSubview:myNewView];

我想做的是找到在任何给定时刻显示的最顶层视图,所以我可以在它上面动态添加一个视图。例如,假设我的视图堆栈如下所示:

  1. 模态相机视图(在所有内容之上,当前正在显示)
  2. 选项卡视图
  3. 导航视图
  4. 看法
  5. 表视图

我想动态地将一些东西放在0的任何视图之上。

有谁知道如何做到这一点,或者甚至可能吗?

4

1 回答 1

3

视图层次结构不是由堆栈表示,而是由树表示,因此没有任何the topmost view.

如果您只想在所有其他视图之上添加一个视图,请将其添加到此答案UIWindow中:

UIWindow* mainWindow = [[UIApplication sharedApplication] keyWindow];
[mainWindow addSubview:myNewView];

如果通过视图您真的是指视图控制器,那么我认为没有办法“遍历”当前堆栈,因为它取决于堆叠视图控制器的类,并且与视图层次结构相同:视图控制器可能有很多孩子 -UITabBarController例如一个。

于 2013-06-05T20:19:48.173 回答