Intereting Posts
एवाडियो रिकॉर्ड रिकॉर्ड एएसी / एम 4 ए UISwitch मूल्य परिवर्तित नहीं करता है परिवर्तित प्रोग्राम जब परिवर्तित प्रोग्राममैटी कस्टम UITableViewCell बटन कार्रवाई? संसाधनों के साथ आईओएस स्टेटिक फ्रेमवर्क अंदर ऐपियम आईओएस टेस्ट पर स्वाइप नहीं किया जा सकता मैं NSData को हेक्स स्ट्रिंग में कैसे रूपांतरित कर सकता / सकती हूं? आईओएस खोलने पर खुद को पुनः लोड करने से नेटिव वेब ऐप को बंद करें ScrollView में ज़ूमिंग छवि दृश्य घुमाएं? छवियों के साथ iOS टैबबार अनुकूलन बाईं ओर मानक तीर के साथ UINavigationBar पर एक कस्टम बाएं वापस बटन बनाएं चौड़ाई के साथ चौड़ाई को जोड़ना UIView बाहर छोटे पृष्ठभूमि दिखाते हैं आईओएस में चार्टबॉइस / आईआरएस में चार्टबॉस्ट उपयोग आईफ़ोन – ऑब्जेक्ट को टच करें और पथ खींचें वर्तमान में यूडीएएलर्ट कंट्रोलर ऐपडेलिएट आईओएस स्थानीयकरण के बारे में

CALayer – छाया एक प्रदर्शन हिट का कारण बनता है?

इसलिए मैं अपने नेविगेशन नियंत्रक पर कुछ कस्टम ऐनिमेशन कर रहा हूं और जिस तरह से यह दृश्य और कंट्रोलर को पॉप करता है।

सब कुछ चिकनी चलती है जैसे ही मैं निम्न कोड ( UINavigationController उप- UINavigationController ) जोड़ता हूं, मुझे एक बहुत बड़ा प्रदर्शन हिट मिलता है एक छाया जोड़ने के बाद सभी एनिमेशन बहुत लम्बी हो जाते हैं। क्या यह अपेक्षित है या क्या मैं कोड में कुछ गलत कर रहा हूं?

 // This code gets called once during NavigationController initialization. [self.view setClipsToBounds:NO]; [self.view.layer setCornerRadius:5]; [self.view.layer setShadowOffset:CGSizeMake(0, 20)]; [self.view.layer setShadowColor:[[UIColor yellowColor] CGColor]]; [self.view.layer setShadowRadius:20.0]; [self.view.layer setShadowOpacity:1]; 

संपादित करें:

मेरी छाया त्रिज्या 1 में बदल दी और यह अभी भी धीमा है

Solutions Collecting From Web of "CALayer – छाया एक प्रदर्शन हिट का कारण बनता है?"

आपको एक छाया जोड़ने से मंदी की उम्मीद करनी चाहिए। 20 का एक shadowRadius बहुत अधिक है और विशेष रूप से धीमा होगा

छाया प्रतिपादन गति को बेहतर बनाने के लिए दूसरी कुंजी: shadowPath गुण सेट करें यह नाटकीय ढंग से मदद कर सकता है

 self.view.layer.shouldRasterize = YES; self.view.layer.rasterizationScale = UIScreen.mainScreen.scale; 

मैं हाल ही में धीमी Cayayer छाया के साथ कुछ मुद्दों था, और कोड की है कि सरल लाइन मेरे लिए सब कुछ तय!

shadowPath बजाय shadowPath का उपयोग करना

 theView.layer.shadowPath = [UIBezierPath bezierPathWithRect:theView.bounds].CGPath; 

इस पोस्ट की जाँच करें: iphone – एनीमेशन का प्रदर्शन बहुत खराब है जब दृश्य का छाया चालू है

हाँ, छाया बहुत महंगा है (विशेष रूप से एक छाया जो त्रिज्या के साथ खेलते हैं और आप देखेंगे कि यह आपके अनुभव के मंदी की डिग्री में बहुत बड़ा फर्क पड़ता है)। प्रदर्शन में सुधार करने का एक तरीका यह है कि इसे CGImageContext से एक बार प्रस्तुत करना और उस चित्र को प्रदर्शित करना है, जो हर बार जब यह परत को फिर से लाल करती है (लेकिन यह काम नहीं करता है तो छाया को चेतन या कुछ और करने की आवश्यकता होती है)।