gpt4 book ai didi

ios - 如何找到最父级的 SuperView?

转载 作者:行者123 更新时间:2023-11-28 19:03:09 25 4
gpt4 key购买 nike

我正在尝试向页面添加一个新的 subview ,这样除了它本身之外的所有内容都显示为灰色。但是,我是从屏幕的 subview 中调用它的。要将其取出,我必须执行以下操作:

[self.view.superview.superview.superview.superview addSubview:self.cardDialog.view];

如您所料,这是极其糟糕的代码。如何找到合适的父级别并正确设置?

最佳答案

如果 View 是 View 层次结构的一部分,请使用 window 属性。

UIView* topView = self.view.window;

或者如果你的 View 还没有出现在屏幕上,你可以通过你的应用代理间接获取窗口

UIView* topView = [UIApplication sharedApplication].delegate.window;

否则,如果您的目标不是窗口,您可以沿着 View 层次结构向上移动,直到找到您想要的 View :

UIView* topView = self.view;

while(topView.superview != nil){
topview = topView.superview;

if( /*topview is the one you were looking for*/ ){
break;
}
}

关于ios - 如何找到最父级的 SuperView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22971325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com