gpt4 book ai didi

iphone - 检查 subview 中的点是否在父 View 中

转载 作者:行者123 更新时间:2023-12-01 19:12:19 25 4
gpt4 key购买 nike

我有以下设置:

enter image description here

浅蓝色 View 的地方,我们称之为parentView ,有一个名为 childView 的矩形 subview (紫色 View ) .用户可以使用平移触摸来旋转和拉伸(stretch) 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 中定义的红点。 ,然后将其旋转 View 已旋转的量,然后将其转换为 parentViews坐标。

我得到的观点似乎没有意义,这不起作用。想知道是否有人知道我要去哪里错了?我没有考虑 parentViews superview 吗?

最佳答案

我不是 100% 确定,但我认为 convertPoint:已经考虑了旋转(或任何其他转换),因此您只需要:

CGPoint childViewRedPoint = CGPointMake(self.bounds.size.width, self.bounds.size.height / 2);
CGPoint convertedChildViewRedPoint = [self convertPoint:childViewRedPoint toView:self.superview];

if (CGRectContainsPoint(self.superview.bounds, convertedChildViewRedPoint))
...

关于iphone - 检查 subview 中的点是否在父 View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15651019/

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