假设我有一个小的UIView作为较大的UIView的子视图,并且该子视图可以通过一些CGAffineTransforms进行移动。那么父视图如何知道该视图在其自己的坐标系中的真实“中心”位置?我尝试使用convertPoint例程和child.center返回的任何内容,但它不起作用...在这种情况下,“center”完全是虚假的,还是我只是使用了错误的方法?
编辑:
经过一些测试,我注意到以下内容:
UIViews没有anchorPoint属性,但它们有一个center属性。中心属性在应用变换后总是正确计算的,除了平移变换,对于这种情况,你需要执行以下操作:
CGPoint realCenter = CGPointMake(myView.center.x + myView.frame.origin.x, ...);
CALayer
而言,它们确实有一个 anchorPoint 属性,但它们缺少 center 属性。因此,你需要通过对位置属性、anchorPoint 属性以及图层的转换进行计算来手动计算中心。CALayer
?我不熟悉UIView
有锚点的情况。 - Mazyod