2012-05-23 17 views
9

मेरे AppDelegate में मैं UIAppearance इस कोड के साथ अपने ही NavigationBar स्थापित करने के लिए उपयोग करें:आवश्यकता होने पर यूआईपीपीरेंस से छुटकारा पाने के लिए कैसे?

[[UINavigationBar appearance] setTintColor:[UIColor blackColor]]; 
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"nav5.png"] forBarMetrics:UIBarMetricsDefault]; 

लेकिन अपने आवेदन में से कुछ विचारों इसकी आवश्यकता नहीं है। मैं इससे कैसे छुटकारा पा सकता हूं ताकि मैं केवल संबंधित विचारों में आईबी का उपयोग कर सकूं?

उत्तर

12

आपको प्रॉक्सी का उपयोग करने की आवश्यकता नहीं है। बस वास्तविक नेविगेशनबार प्राप्त करें, जो अलग दिखना चाहिए और सीधे रंगों को सेट करना चाहिए।

[navigationBarInstance setTintColor:[UIColor blackColor]]; 
[navigationBarInstance setBackgroundImage:[UIImage imageNamed:@"nav5.png"] forBarMetrics:UIBarMetricsDefault]; 

आप, साथ ही nil यहां आप मानक शैलियों फिर से चाहते हैं कि दोनों मूल्यों को निर्धारित कर सकते हैं। (Ben Clayton द्वारा परीक्षण किया गया)।

[navigationBarInstance setTintColor:nil]; 
[navigationBarInstance setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault]; 
+0

पृष्ठभूमि छवि और रंगों को 'शून्य' पर सेट करना वास्तव में शैलियों को डिफ़ॉल्ट पर सेट करता है। का परीक्षण किया। –

+1

'MFMailComposeViewController' उदाहरण पर काम नहीं करता है (https://alpha.app.net/stuffmc/post/5028278 देखें) –

+0

और इसलिए आपने डाउनवोट किया? यहां एक सामान्य सवाल है, मेलकंपोपर के बारे में नहीं .. – calimarkus