मेरे पास CABasicAnimation
है और देरी के बाद इसे शुरू करना चाहते हैं। UIKit में मैं देरी निर्दिष्ट कर सकता हूं। CAMediaTiming
प्रोटोकॉल में timeOffset
संपत्ति है लेकिन मुझे कोई प्रभाव दिखाई नहीं दे रहा है। मेरी अगली कोशिश जीसीडी का उपयोग करने में देरी है लेकिन यह ओवरकिल की तरह लगता है।CABasicAnimation में देरी कैसे करें?
उत्तर
क्या आप [CAMediaTiming beginTime]
संपत्ति (reference) का उपयोग नहीं करना चाहिए?
Core Animation Programming Guide में एक एनीमेशन के समय को अनुकूलित करना देखें।
CABasicAnimation *animation;
animation.beginTime = CACurrentMediaTime() + 0.3; //0.3 seconds
बस याद रखें कि यह 'CACurrentMediaTime() + yourDelay' –
है, मैं AVVideoCompositionCoreAnimationTool के लिए इसका उपयोग करने में सक्षम नहीं हूं। काम करने वाली एकमात्र चीज AVCoreAnimationBeginTimeAtZero है। मुझे मेरी एनीमेशन के लिए कुछ देरी चाहिए ... – Nil
@grisleyB, वही समस्या मेरे सामने आ रही है। क्या आपको कुछ मिला ??? –
स्विफ्ट 3.0 में:
func animateYourView() {
let myDelay = 5.0
let scalePulseAnimation: CABasicAnimation = CABasicAnimation(keyPath: "transform.scale")
scalePulseAnimation.beginTime = CACurrentMediaTime() + myDelay
scalePulseAnimation.duration = 0.5
scalePulseAnimation.repeatCount = 2.0
scalePulseAnimation.autoreverses = true
scalePulseAnimation.fromValue = 1.0
scalePulseAnimation.toValue = 0.5
myView.layer.add(scalePulseAnimation, forKey: "scale")
}
कहाँ देरी के लिए कुंजी पंक्ति है:
scalePulseAnimation.beginTime = CACurrentMediaTime() + myDelay
मैं सिर्फ GCD का प्रयोग करेंगे। 'dispatch_after (पॉपटाइम, dispatch_get_main_queue(),^(शून्य) { <# कोड विलंब के बाद मुख्य कतार पर निष्पादित किया जाना # #});' – BooRanger
@BooRanger 'startTime' संपत्ति के साथ क्या गलत है? –
[यह उत्तर] (http://stackoverflow.com/a/11625742/608157) को अपने प्रश्न का उत्तर देना चाहिए –