Это решение может быть немного глупым, но вы могли бы реализовать и вручную вызвать
- (void) touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;
Я свободно основываю это решение на некоторой настройке, которую я сделал для примера приложения MoveMe на образце Apple iPhone , где я изменил метод touchesMoved
, чтобы он выглядел следующим образом:
- (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
if ([touch view] == placardView)
CGPoint location = [touch locationInView:self];
placardView.center = location;
// I added the following line:
[self touchesCancelled:touches withEvent:event];
return;
}