在下面的图片中,每个矩形都是一个UIView。视图A对视图C具有弱引用。视图A创建视图D并需要将其作为子视图添加到视图C中,以使视图A完全覆盖。因此,我需要相对于视图C获取视图A的位置。在{0,0}处将视图D作为视图A的子视图添加不是这种情况的选项 - 它必须是C的子视图。
视图层次结构起点
视图层次结构目标点
我尝试了各种
![视图层次结构起点](https://istack.dev59.com/rXnID.webp)
![视图层次结构目标点](https://istack.dev59.com/PhOuf.webp)
convertRect:toView:
和convertRect:fromView:
的组合,将这三个视图的组合作为发送器和接收器,以及使用它们的子视图,但是组合太多了,我无法理解它的工作原理。如果有人能首先发布正确的语法,让我可以使其正常工作,并且更重要的是,让我通过一个实际的示例来理解该函数的实际操作,我将不胜感激。非常感谢!
viewD.frame = [self.viewC convertRect:self.frame fromView:self.superview];
(从viewA的实例方法调用) - mashers