touchesMoved UIView检测

时间:2010-10-29 08:41:15

标签: iphone touchesmoved

我有2个uiimageviews foo1,foo2彼此不相交,我有3个函数touchesBegantouchesMovedtouchesEnded

- (void) touchesMoved:(NSSet *) touches withEvent:(UIEvent *) event
{
    UITouch *touch = [touches anyObject];

        if (foo1 == [touch view]){
       NSLog(@"foo1");
        }    

        if (foo2 == [touch view]){
       NSLog(@"foo2");
        }    
}

我正在触摸foo1并将手指移动到foo2,但是从nslog我得到了foo1消息。

当触摸进入foo 2时,是否有可能在touchesMoved函数中确定?

由于

1 个答案:

答案 0 :(得分:0)

默认情况下,这种方式不起作用。一旦一个视图“捕获”了一个触摸(换句话说,一旦它被击中测试在该视图内),触摸将“跟踪”到该视图直到它被释放,即使触摸的位置超出界限观点。

(我的猜测是可能可以通过微妙覆盖-pointInside:withEvent:和/或-hitTest:withEvent:方法来覆盖此行为,但我不能告诉你如何脱离我的头脑,我实际上不确定这些手段是否可行。)