我想添加一个视图:
[aView addSubview:myNewView];
我要做的是找到哪个视图是在任何给定时刻显示的最顶层视图,因此我可以在其上动态添加视图。例如,假设我的视图堆栈如下所示:
我想动态地将任何视图置于0之上。
有谁知道如何做到这一点,或者甚至可能?
答案 0 :(得分:3)
视图层次结构不是由堆栈表示,而是由树表示,因此没有the topmost view
。
如果您只是想在所有其他观看次数之上添加视图,请将其添加到UIWindow
,如this answer中所述:
UIWindow* mainWindow = [[UIApplication sharedApplication] keyWindow];
[mainWindow addSubview:myNewView];
如果通过视图你真的是指视图控制器,那么我认为没有办法“走”当前堆栈,因为它将取决于堆叠视图控制器的类,并且也出于与视图层次结构相同的原因:视图控制器可能有许多子项 - 例如UITabBarController
。