पर काम नहीं कर रहा है मुझे एक UIView एनीमेशन मिल रहा है जिस पर मुझे अपने आईओएस ऐप में रद्द करने की आवश्यकता है। मैंने यह कोशिश की है:UIView एनीमेशन को रद्द करना - self.view.layer removeAllAnimimations
[self.view.layer removeAllAnimations];
लेकिन यह काम नहीं किया। एनीमेशन जारी रखा। यहां मेरा एनीमेशन कोड है:
[UIView animateWithDuration:1.4 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
recognizer.view.transform = CGAffineTransformTranslate(recognizer.view.transform, translation.x, translation.y);
} completion:^(BOOL finished) {
NSLog(@"completed animation, now do whatever");
}];
क्या किसी के पास कोई विचार है कि यह क्यों काम नहीं कर रहा है?
आप दृश्य पहचानकर्ता है कि एनीमेशन जोड़ रहे हैं, इसलिए आपको लगता है कि एक ही दृश्य की परत से निकालने के लिए होगा। तो [self.view.layer removeAllAnimations] के बजाय आप [identizer.view.layer removeAllAnimations] करना चाहते हैं। – Till
हाय। धन्यवाद - अब कुछ हो रहा है, लेकिन यह एक और समस्या पेश करता है। यह एनीमेशन को अंत में तुरंत वहां रोकता है। मैं इसे अपनी वर्तमान स्थिति में रुकना चाहता हूं - यह स्थिति उस स्थिति में है जब मैं एनीमेशन को रोकना चाहता हूं - अंत में कूद नहीं। क्या ऐसा ऐसा किया जा सकता है? –
'पहचानकर्ता .view.layer.presentationLayer' देखें। इसमें मध्य परिवर्तन होगा, बस वर्तमान परत पर सेट करें: 'identityizer.view.layer.transform = identityizer.view.layer.presentationLayer.transform;' ... और अधिक काम की आवश्यकता हो सकती है। – Mazyod