के लिए मुखौटा एनिमेट करना मैं इस तरह एक मुखौटा बना सकते हैं:एक UIView
CALayer *mask = [CALayer layer];
mask.contents = (id)[[UIImage imageNamed:@"mask.png"] CGImage];
mask.frame = CGRectMake(0, 0, 10, 10);
self.content.layer.mask = mask;
और यह सही ढंग से पता चलता है शीर्ष मेरी सामग्री का 10 पिक्सल छोड़ दिया (क्योंकि mask.png सिर्फ एक काले रंग की छवि है)। हालांकि मैं की शेष सामग्री प्रकट करने के लिए मुखौटा चेतन करना चाहते हैं:
[UIView animateWithDuration:3.0
animations:^{
mask.frame = self.content.bounds;
}
completion:^(BOOL finished){
}];
समस्या नहीं एनीमेशन है कि वहाँ है। पूरी सामग्री तुरंत प्रदर्शित हो जाती है। ऐसा क्यों होता है, और मैं मास्क को कैसे एनिमेट कर सकता हूं ताकि सामग्री ऊपरी बाईं ओर से प्रकट हो सके?
यह काम करता है, आंशिक रूप से। मैं अब एनीमेशन देख सकता हूँ। हालांकि यह पूरे सामग्री दृश्य को प्रकट करने के बजाय लगभग आधा रास्ते बंद हो जाता है। क्या आप जानते हैं कि ऐसा क्यों हो सकता है? – soleil
मुझे ईमानदार होने की ज़रूरत नहीं है; सामग्री की सीमाओं के भीतर मूल्य को दोबारा जांचें सही हैं। मैं थोड़ी अधिक मजबूत होने का उत्तर भी दूंगा। – WDUK
असल में यह एंकर पॉइंट (कुछ कारणों से 0.5, 0.5 के लिए डिफ़ॉल्ट) के कारण था। यह इसे ठीक करता है: mask.anchorPoint = CGPointMake (0, 0); – soleil