के लिए कस्टम NavBar पृष्ठभूमि को हटाएं मेरे पास मेरे ऐप में नेविगेशन नियंत्रकों में एक कस्टम NavBar छवि है, UIAppearance प्रोटोकॉल का उपयोग करके सेट करें। हालांकि, ऐप के माध्यम से मेल भेजते समय (MFMailComposeViewController
के माध्यम से), मैं कस्टम के बजाय डिफ़ॉल्ट navBar चाहता हूं। मैंने इस प्रश्न में उल्लिखित दृष्टिकोण की कोशिश की: UIAppearance Remove Custom NavBar Background for UIPopoverController लेकिन यह काम नहीं किया। मेरे द्वारा उपयोग किया गया कोड था:UIAppearance MFMailComposeViewController
[[UINavigationBar appearanceWhenContainedIn:[MFMailComposeViewController class], nil] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
लेकिन इसका कोई प्रभाव नहीं पड़ा। मेरा ऐप आईओएस 6+ है। क्या यह MFMailComposeViewController
पर विशिष्ट है या क्या मुझे इससे कुछ याद आ रहा है?
संपादित करें: अन्य तरीकों का प्रयास किया:
MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];
mailer.mailComposeDelegate = self;
mailer.navigationBar.barStyle = UIBarStyleBlack;
[self.navigationController presentViewController:mailer animated:YES completion:nil];
[mailer.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
UIBarStyleBlack
स्थापना के रूप में कुछ प्रभाव पड़ता है "रद्द करें" बटन बाद में काला हो जाता है, लेकिन पृष्ठभूमि छवि अभी भी पुराने मूल्य पर सेट है। इस तरह
ऐसा लगता है कि 'यूआईपीपीरेंस' का उपयोग न करने का एकमात्र तरीका है, लेकिन उन नेविगेशन नियंत्रकों पर छवि सेट करें जिन्हें इसे अलग-अलग आवश्यकता है। – SaltyNuts
क्या आपके पास कोई भाग्य है कि यह यूआईपीपीरेंस के साथ कैसे किया जाए? –
नहीं, एकमात्र कामकाजी समाधान 'यूआईपीपीरेंस' का उपयोग करना बंद करना था और वांछित शैली को प्रत्येक नेविबार में व्यक्तिगत रूप से सेट करना था। – SaltyNuts