Question

I am developing an application in which I use

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
}

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
}

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
}

-(void)handleSingleTap:(UITapGestureRecognizer *)recognizer {
}

Now my problem in iphone 3 after touch move it is calling handleSingleTap function and touchesEnded didn't get called. This happen only on some lower part of the screen when I move there touch end didn't get called.If I move long then touchesEnded get called.

But this thing is working properly in IPhone4 and IPad. In IPhone4 and IPad after touchsesMoved it is calling touchesEnded.

Était-ce utile?

La solution

You're not the only one who has encountered this problem. I found a similar thread on Apple Support forum list : https://discussions.apple.com/thread/1507669?start=0&tstart=0

This thread dates from 2008 which coincides with the iPhone 3, so I guess there might be a chance this is an unfixed bug on iOS running on iPhone 3.

Otherwise if it's not the case, may be it's due to the fact that you are using a UIScrollView (whose controller is implementing the touch methods you listed above). By default, it has a method called :

delaysContentTouches

That is set to YES. May be you should change it to no and say how it behaves.

If you are not using a UIScrollView, may be you are using two view and the second view containing the "dead area" is not connected to your controller ?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top