यह काम:
let animation = CABasicAnimation(keyPath: "opacity")
animation.fromValue = 0
animation.toValue = 1
animation.duration = 0.3
someLayer.opacity = 1 // important, this is the state you want visible after the animation finishes.
someLayer.addAnimation(animation, forKey: "myAnimation")
कोर एनीमेशन एक 'प्रेजेंटेशन लेयर' को दिखाता है, जो एनिमेशन के दौरान आपकी सामान्य लेयर के ऊपर होता है। तो अस्पष्टता (या जो कुछ भी) सेट करें कि आप क्या देखना चाहते हैं जब एनीमेशन खत्म हो जाता है और प्रस्तुति परत चली जाती है। लाइन पर ऐसा करने से पहले आप एनीमेशन जोड़ने के एक झिलमिलाहट से बचने के लिए जब यह पूरा करता है।
यदि आप देरी करना चाहते हैं, तो निम्न कार्य करें:
let animation = CABasicAnimation(keyPath: "opacity")
animation.fromValue = 0
animation.toValue = 1
animation.duration = 0.3
animation.beginTime = someLayer.convertTime(CACurrentMediaTime(), fromLayer: nil) + 1
animation.fillMode = kCAFillModeBackwards // So the opacity is 0 while the animation waits to start.
someLayer.opacity = 1 // <- important, this is the state you want visible after the animation finishes.
someLayer.addAnimation(animation, forKey: "myAnimation")
अंत में, यदि आप 'हटाए गएOnCompletion = false' का उपयोग करते हैं, तो यह CAAimimations को लीक कर देगा, जब तक कि परत को अंततः निपटाया नहीं जाता - बचें।
.presentation()
"अंतिम, देखा" मूल्य प्राप्त करने के लिए देखते हैं। नीचे दिए गए सही उत्तरों की खोज करें, जो यह बताते हैं कि यह प्रस्तुति परत के साथ किया गया है।