Ich habe ein UIImageview-Objekt entlang eines Pfades bewegt und ich habe CABasic Animation und BezierCure, um das Objekt entlang des Pfades zu bewegen, jetzt ist das Problem, wenn ich das Verschieben berühren Objekt Das Berührungsereignis wird von UIImageView nicht erkannt, aber das Berührungsereignis wird von der Hauptansicht empfangen. Kann mir jemand helfen, dieses Problem zu lösen? Unten ist mein CodeiPhone - Touch-Ereignis wird nicht von UIImageView beim Animieren mit CABasicAnimation empfangen
UITouch *touch = [[event allTouches] anyObject];
if (![touch.view isEqual: beaconPose1]) {
return;
}
[touch.view.layer removeAllAnimations];
CGPoint location = [touch locationInView: self.view];
CGRect frame = touch.view.frame;
frame.origin.x = location.x;
frame.origin.y = location.y;
///frame.origin.x += xDisplacement;
//frame.origin.y += yDisplacement;
touch.view.frame = frame;
- Code, in dem Benutzer-Interaktion
[beaconPose1 setUserInteractionEnabled:true];
CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
pathAnimation.duration = 1.0f;
pathAnimation.path = beaconPose3Path.CGPath;
pathAnimation.calculationMode = kCAAnimationLinear;
CABasicAnimation *fullRotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
fullRotation.fromValue = [NSNumber numberWithFloat:0];
fullRotation.toValue = [NSNumber numberWithFloat:((360*M_PI)/180)];
fullRotation.duration = pathAnimation.duration;
fullRotation.repeatCount = pathAnimation.duration/fullRotation.duration;
[beaconPose1.layer addAnimation:fullRotation forKey:@"360"];
[beaconPose1.layer addAnimation:pathAnimation forKey:@"movingAnimation"];
Ich bin nicht sicher, aber dies könnte Sie Hilfe http://stackoverflow.com/questions/3775577/uiimageview-touch-event – Anand
ich gleiche Logik, bot UIImageView keine Daten empfängt die Berührungsereignisse :( – Pete
plz implementiert poste den Code, den du verwendest, der zum Überprüfen hilft ... –