2012-05-30 16 views
8

मेरा ऐप यूआईवीविगेशनबार के लिए दो अलग-अलग पृष्ठभूमि का उपयोग करता है ताकि उपयोगकर्ता को इंगित किया जा सके कि वे पदानुक्रम में किस स्तर पर हैं। जब मैं एक UIViewController को दबाता हूं जिसे दूसरी पृष्ठभूमि की आवश्यकता होती है तो इसमें एनीमेशन की कमी होती है, जैसे ही UIViewController को धक्का दिया जाता है, पृष्ठभूमि तुरंत बदल जाती है। मैं इसे कैसे एनिमेट कर सकता हूं ताकि पृष्ठभूमि बदल जाए क्योंकि दृश्य बदल रहा है?मैं UIViewController पुश पर UINavigationBar पृष्ठभूमि परिवर्तन को कैसे एनिमेट कर सकता हूं?

उत्तर

17

मैं जानता हूँ कि यह एक पुरानी धागा है, लेकिन यह मेरे लिए काम किया:

CATransition *transition = [CATransition animation]; 
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; 
transition.type = kCATransitionFade; 
transition.duration = 0.5; 

[self.navigationController.navigationBar.layer addAnimation:transition forKey:nil]; 
[self.navigationController.navigationBar setBackgroundImage:[[UIImage imageNamed:@"navigationbar.png"]resizableImageWithCapInsets:UIEdgeInsetsMake(44, 20, 44, 20)] forBarMetrics:UIBarMetricsDefault];   

प्लेस यह आपके viewDidLoad विधि के अंदर। आपको क्वार्ट्जकोर ढांचे को लिंक/आयात करने की आवश्यकता होगी।

+0

मैंने इसे लंबे समय से छोड़ दिया है, लेकिन वैसे भी पोस्ट करने के लिए धन्यवाद। यह किसी दिन काम में आ सकता है। – bpercevic

संबंधित मुद्दे