gpt4 book ai didi

ios - UIView 转换矩形 : - finding subview position two views deep

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:34:23 26 4
gpt4 key购买 nike

在下图中,每个矩形都是一个 UIView。 View A对 View C有弱引用, View A创建了 View D,需要将其作为 subview 添加到 View C中,使 View A被完全覆盖。因此,我需要获得 View A 相对于 View C 的位置。在 {0,0} 处将 View D 添加为 View A 的 subview 对于这种特殊情况不是一个选项 - 它必须是 C 的 subview 。

查看层次结构起点 View hierarchy starting point

查看层级目标 View hierarchy goal point

我已经尝试了我能想到的 convertRect:toView:convertRect:fromView: 的所有组合,将三个 View 的组合作为发送方和接收方传递为以及使用他们的 subview ,但组合太多,我无法理解它是如何工作的。如果有人能先发布正确的语法,我将不胜感激,这样我就可以让它工作,更重要的是,这样我就可以通过一个工作示例来理解该函数的实际作用。

非常感谢!

最佳答案

convertRect: 是正确的方法:

let viewD = UIView()
viewD.frame = viewA.viewC.convertRect(viewA.frame, fromView: viewA.superview!)
viewA.viewC.addSubview(viewD)

在 Objective-C 中:

UIView *viewD = [[UIView alloc] init];
viewD.frame = [viewA.viewC convertRect:viewA.frame fromView:viewA.superview];
[viewA.viewC addSubview:viewD];

关于ios - UIView 转换矩形 : - finding subview position two views deep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36548998/

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