मैं CABasicAnimation के साथ अपनी छवि रोटेशन एनीमेशन के ऑटो दोहराव करने की कोशिश कर रहा हूं। मैंने वेब पर खोज करने की कोशिश की है कि इस तरह की संपत्ति कैसे सेट करें लेकिन उसे ढूंढने में असमर्थ था। क्या यह वास्तव में सीए एनीमेशन के लिए ऐसी कोई संपत्ति नहीं है? मुझे पता है कि आप संपत्ति को दोहराने के लिए कुछ विशाल मूल्य (here) सेट कर सकते हैं लेकिन हे, फिर UIView एनिमेट क्यों करता है WithDuration के पास एक विकल्प UIViewAnimationOptionRepeat है और इसके लिए मूल्य हार्डकोड किया गया है?CABasicAnimation HUGE_VALF के बिना असीमित दोहराना?
उत्तर
नहीं, इस तरह से आपको the documentation के अनुसार ऐसा करना है।
HUGE_VALF
को यह गुण को सेट एनीमेशन हमेशा के लिए दोहराने के लिए कारण होगा। स्विफ्ट के लिए
अद्यतन:
HUGE_VALF स्विफ्ट के संपर्क में नहीं है। हालांकि, this page से मेरी समझ यह है कि HUGE_VALF का उद्देश्य अनंत होना है (वास्तव में, INFINITY
को HUGE_VALF
के रूप में परिभाषित किया गया है)। के बाद से स्विफ्ट FloatingPointType
प्रोटोकॉल एक static var infinity
प्रदान करता है, तो आप बस लिख सकते हैं
myAnimation.repeatCount = .infinity
, यह कुछ अंतराल के बाद बंद हो जाता है। सुनिश्चित नहीं है कि कारण क्या है। स्विफ्ट में –
'Float.infinity'। संदर्भित दस्तावेज़ों में 'HUGE_VALF' का उल्लेख है लेकिन यह नहीं बताता कि स्विफ्ट में कैसे व्यक्त किया जाए। –
तेज 3.0 के लिए और
let rotationAnimation = CABasicAnimation(keyPath: "transform.rotation.z")
rotationAnimation.fromValue = 0
rotationAnimation.toValue = CGFloat.pi * 2
rotationAnimation.duration = 1
rotationAnimation.repeatCount = .infinity
holderView.btnRefresh.layer.add(rotationAnimation, forKey: "spinAnimation")
ऊपर मान 'math.h' में,' 1e50' है। – bcattle
एक्सकोड में कुछ की परिभाषा पर जाने के लिए क्लिक करें। आईओएस 7 और उसके बाद में – bcattle