我有一个类似混音器的东西,当我触摸按钮时会打开音轨音量。
为了避免使视图大于它所需要的,我正在绘制范围之外的音量滑块。问题是,现在,我的触摸是由那些滑块下面的东西处理而不是它们自己的滑块。
如果UIView孩子在父母身边以外的地方接受触摸,但是高于其他任何东西,我该如何让他们接触?
这可能吗?
我尝试了以下链接中建议的点击测试方法但没有成功:
interaction beyond bounds of uiview
谢谢,
致以最诚挚的问候,
Nuno Santos
答案 0 :(得分:1)
我找到了解决这个问题的方法。基本上我需要覆盖方法
-(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;
}
答案 1 :(得分:-1)
在上面的答案中,什么是'曲目',你是如何得到它的?