मैं iOS SDK के साथ प्रयोग कर रहा हूँ में स्क्रॉल पर CALayer का मुखौटा स्थानांतरण और मैं निम्नलिखित UIView
संरचना है:एक scrollview
UIView
UIImageView
- केवल एक पृष्ठभूमि चित्रUIImageView
(एकCALayer
साथ मास्क)UIScrollView
Label
बहुत ही सरल संरचना, UIScrollView
पारदर्शी परत है और दूसरा UIImageView
उस पर एक मुखौटा है। मैं जो करने की कोशिश कर रहा हूं वह यह है कि CALayer
मास्क स्क्रॉल व्यू में सामग्री की स्थिति के अनुसार इसकी स्थिति को स्थानांतरित करेगा। यदि उपयोगकर्ता स्क्रॉल करता है, तो मास्क की स्थिति अपडेट की जानी चाहिए।
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
CGPoint contentOffset = scrollView.contentOffset;
contentOffset.y = -contentOffset.y;
self.overlayImageView.viewlayer.mask.position = contentOffset;
}
मास्क viewDidLoad
में बनाई गई है और देखने नियंत्रक के जीवन चक्र के दौरान परिवर्तन नहीं करता है: मैं पहले से ही UIScrollView
के प्रतिनिधि का उपयोग कर इस समस्या का समाधान।
समस्या यह है कि मास्क स्थिति अद्यतन बहुत धीमी है। इस तरह यह मुखौटा स्क्रॉल दृश्य की सामग्री का पालन कर रहा है, इसके साथ स्क्रॉल नहीं कर रहा है। scrollViewDidScroll
प्रतिनिधि विधि को सही तरीके से बुलाया जाता है।
समस्या के बारे में बेहतर ढंग से समझने के लिए, मैं आईओएस सिम्युलेटर में किए गए एक वीडियो को जोड़ रहा हूं। http://www.youtube.com/watch?v=w3xRl3LTngY
तो सवाल यह है:
वहां जल्द मुखौटा अद्यतन करने बनाने के लिए एक रास्ता है या यह आईओएस की सीमा है?
बढ़िया है, समस्या का समाधान होता। आपका बहुत बहुत धन्यवाद। मास्क स्थिति परिवर्तन अब और अधिक तरल पदार्थ हैं। – Legoless