我有两个不相交的uiimageviews foo1,foo2,还有三个函数touchesBegan,touchesMoved,touchesEnded。
- (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函数中确定?
谢谢
发布于 2010-10-29 08:52:37
默认情况下,它不是这样工作的。一旦一个视图“捕获”了一个触摸(换句话说,一旦它被击中-测试在该视图中),触摸将“跟踪”到该视图,直到它发布,即使触摸的位置超出视图的范围。
(我的猜测是,可以通过微妙地覆盖-pointInside:withEvent:和/或-hitTest:withEvent:方法来覆盖这种行为,但我无法告诉您如何从头上跳下来,而且我也不确定这些方法是否可行。)
https://stackoverflow.com/questions/4050294
复制相似问题