Ios 如何与子UIView';是否在父UIView边界之外绘制?

Ios 如何与子UIView';是否在父UIView边界之外绘制?,ios,uiview,parent,Ios,Uiview,Parent,我有一个类似于混音器的东西,当我按下一个按钮时,它就会打开音轨 为了避免使视图比需要的大,我在边界外绘制了体积滑块。现在的问题是,我的触摸是由那些滑块下面的东西来处理的,而不是滑块本身 当UIView的孩子不在父母的约束范围内,但高于其他任何被吸引的东西时,我如何让它接受触摸 这可能吗 我尝试了下面链接中建议的命中测试方法,但没有成功: 谢谢 代我向你问好 努诺·桑托斯我找到了这个问题的解决办法。基本上我需要重写这个方法 -(BOOL)pointInside:(CGPoint)point wi

我有一个类似于混音器的东西,当我按下一个按钮时,它就会打开音轨

为了避免使视图比需要的大,我在边界外绘制了体积滑块。现在的问题是,我的触摸是由那些滑块下面的东西来处理的,而不是滑块本身

当UIView的孩子不在父母的约束范围内,但高于其他任何被吸引的东西时,我如何让它接受触摸

这可能吗

我尝试了下面链接中建议的命中测试方法,但没有成功:

谢谢

代我向你问好


努诺·桑托斯

我找到了这个问题的解决办法。基本上我需要重写这个方法

-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
哪个

“返回一个布尔值,指示接收器是否包含指定的点。”

首先,我用超级视图测试这个点。如果它返回none,我将针对父对象边界之外绘制的对象进行测试

-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
    if ([super pointInside:point withEvent:event])
    {
        return YES;
    }
    else
    {
        id elem;

        NSEnumerator * enumerator = [tracks objectEnumerator];

        while(elem = [enumerator nextObject])
        {
            LKTrack *track = (LKTrack*) elem;

            if ([track pointInside:[self convertPoint:point toView:track] withEvent:event])
            {
                return YES;
            }
        }
    }

    return NO;
}

在上面的答案中,什么是“轨迹”以及如何获得它?

这不是答案。你应该删除这个,并在问题的答案下发表评论。