我希望能够获取应用程序的主 UIView。到目前为止,我一直在调用 [[[self.view superview] superview] superview] 来遍历链(或向下,取决于你如何看待它)。这样做的问题是,我可能无法绝对确定我需要升级的级别数。有没有办法:
- 直接转到 iPhone 应用程序中的最高级别 UIView?
或者,如果不是,
- 查看当前superview是否是app中最高级别的UIView?
我不确定这是否是您首先要寻找的东西,但它可以提供帮助。
如果您试图找到顶视图以添加子视图,例如弹出窗口或其他,您可以使用 UIWindow,它在某种程度上是顶级视图:
UIWindow* window = [UIApplication sharedApplication].keyWindow;
if (!window) {
window = [[UIApplication sharedApplication].windows objectAtIndex:0];
}
[window addSubview:yourView];
只是把它从顶部拉下来,比如检查当前视图的超级视图属性是否为空?如果是我猜我们可能会假定它是根视图。