我有以下设置:

浅蓝色视图,我们称之为parentView,有一个矩形子视图(紫色视图),称为childView。用户可以使用平移触摸来旋转和拉伸 childView,方法是将手指放在红点显示的点上并推动或拉动它。
有childView可能 可以缩放到足够小,以至于在用户完成触摸后,红点表示的点将在parentView.
我的目标是创建一种可以检测红点是否在其中的方法parentView。我编写了以下代码:
CGPoint childViewRedPoint = CGPointMake(self.bounds.size.width, self.bounds.size.height / 2);
CGPoint rotatedChildViewRedPoint = CGPointApplyAffineTransform(childViewRedPoint, CGAffineTransformMakeRotation(self.rotateAngle));
CGPoint convertedChildViewRedPoint = [self convertPoint:rotatedChildViewRedPoint toView:self.superview];
if (CGRectContainsPoint(self.superview.bounds, convertedChildViewRedPoint))
{
return YES;
}
else
{
return NO;
}
首先,我找到 中定义的红点childView,然后将其旋转视图旋转的量,然后将其转换为parentViews坐标。
我得到的观点似乎没有意义,这不起作用。想知道是否有人知道我要去哪里错了?我没有考虑 parentViews superview 吗?