저는 UIImageView를 상속하는 드래그 가능한 클래스가 있습니다. 보기가 움직이지 않을 때 드래그가 잘 작동합니다. 그러나 애니메이션을 적용하면 감동에 반응하지 않습니다. 애니메이션이 완료되면 터치가 다시 작동합니다. 하지만 터치가 끝나면 애니메이션을 일시 중지하고 다시 시작해야합니다. 나는 하루 종일 그것을 연구했지만 그 이유를 알 수 없었다.애니메이션 도중 UIView touchesbegan이 응답하지 않습니다.
여기 내 애니메이션 코드입니다. 애니메이션이 시작될 때 IOS는, 목표 위치에 생기를보기를 배치하기 때문에, 그러나 경로를 그립니다
[UIView animateWithDuration:5.0f
delay:0
options:(UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction)
animations:^{
self.center = CGPointMake(160,240);
self.transform = CGAffineTransformIdentity;
}
completion:nil
];
- (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
NSLog(@"touch");
CGPoint pt = [[touches anyObject] locationInView:self];
startLocation = pt;
[self.layer removeAllAnimations];
[[self superview] bringSubviewToFront:self];
}
브릴리언트. 감사! – bzlm
btw 위치가 애니메이션이 아니지만 다른 속성 (내 프레임의 경우)이더라도 ...이 문제가 생겼습니다 ... 뷰의 'hitTest'및 'pointInside' 메소드가 호출되어 제대로 반환됩니다. 또한, 나는 단지'if ([view pointInside : point withEvent : event])'- 10 포인트의 슬롭 필요 없음 – AlexChaffee