मैं एक मामले में जहां आप के साथ या एनीमेशन के बिना कुछ कर सकते हैं संभाल करने की जरूरत के बजाय:UIView एनीमेशन ब्लॉक: यदि अवधि 0 है, तो क्या यह एनीमेशन के समान है?
if (animation)
{
[UIView animateWithBlock:^(){...}];
}
else
{
...
}
मैं क्या करना चाहते हैं:
[UIView animateWithBlock:^(){...} duration:(animation ? duration : 0)]
लेकिन यकीन नहीं करता है, तो यह काम करता है, भले ही वह क्या, दृश्य को सीधे बदलने के बजाय इसका उपयोग करने के लिए कोई ओवरहेड है?
धन्यवाद
अवधि के बारे में किसी भी अधिक विचार करने के लिए और करता है इसका कोई उपर है? अर्थात। '[UIView एनिमेट विथब्लॉक: ^() {self.view.frame = newframe} अवधि के साथ: 0]' बनाम 'self.view.frame = newframe'? – hzxu
आपको पहले फ्रेम सेट करने की आवश्यकता होगी ताकि यह किसी अन्य फ्रेम की तरह कार्य करे। - हाँ यह एक उपरि है। – PappaSmalls
मैंने आईओएस 7.1.1 5 एस के साथ इसका परीक्षण किया और अंतर बहुत बड़ा है; 10k बार देखने के लिए एक यादृच्छिक फ्रेम सेट करना^एनिमेट विथब्लॉक:^और 0.05 सेकेंड के साथ ब्लॉक के लिए सीधे कॉल के साथ 22.85 सेकेंड लगे। हालांकि, अगर आप कुछ उपयोगकर्ता इंटरैक्शन के लिए केवल कुछ एनीमेशन कॉल को पूर्ववत कर रहे हैं, तो अंतर प्रासंगिक नहीं है। कृपया ध्यान दें कि ऐप्पल व्यवहार को बदल सकता है और भविष्य में इस एज केस को अनुकूलित कर सकता है। – mkko