2010-10-29 2 views
1

У меня есть 2 UIImageViews foo1, foo2, не пересекающаяся друг друга, и у меня есть 3 функции touchesBegan, touchesMoved, touchesEndedtouchesMoved UIView обнаружения

- (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.

Есть ли возможность определить в touchesMoved функция, когда прикосновение идет на foo 2?

Thanks

ответ

0

По умолчанию это не работает. Когда одно представление «захватило» прикосновение (другими словами, после того, как оно было проверено на предмет того, чтобы быть внутри этого вида), прикосновение будет «отслеживать» это представление до тех пор, пока оно не будет выпущено, даже если местоположение касания выходит за пределы представления.

(Я думаю, что это может можно переопределить это поведение с тонким переопределения в -pointInside:withEvent: и/или -hitTest:withEvent: методов, но я не могу сказать вам, как с верхней части моей головы, и я на самом деле не уверен, что это возможно с помощью этих средств.)

Смежные вопросы