दिलचस्प पोस्ट
JSON को सीएसवी / एक्सएलएस परिवर्तित करना? बाएं और दाएं पक्षों पर बॉक्स-छाया कैसे प्राप्त करें एक्सएमएल पार्सिंग – एक सरल एक्सएमएल फाइल पढ़ें और मान पुनः प्राप्त करें मैं संख्याओं को अग्रणी शून्य के साथ स्ट्रिंग में कैसे प्रारूपित कर सकता हूं? रेल: एक फॉर्म में मल्टी-सबमिट बटन एंड्रॉइड स्टूडियो ग्रैड त्रुटि: एकाधिक डेक्स फाइलें परिभाषित करती हैं ActiveRecord या क्वेरी हाश नोटेशन कैसे PySpark INFO लॉगिंग बंद करने के लिए? मुझे एक अरेंज ऑफ़ वेरियंट्स के लिए एक रेंज प्रदान करने में समस्या क्यों हो रही है? JSON.stringify फ़ंक्शन git fetch, FETCH_HEAD और मूल / मास्टर स्प्रिंग सुरक्षा अभिव्यक्ति भाषा एनोटेशन में उपयोग के लिए कस्टम विधियाँ कैसे बनाएं सीएएमडी से स्थायी रूप से PATH चर को कैसे अपडेट किया जाए? विंडोज अभिव्यक्ति का उपयोग करके किसी विधि का नाम प्राप्त करें क्लॉज विकल्प में तैयार किए गए स्टेटमेंट?

UINavigationBar पारदर्शी बनाओ

आप पारदर्शी UINavigationBar कैसे बनाते हैं? हालांकि मैं चाहता हूं कि इसकी बार वस्तुएं दृश्यमान रहें

Solutions Collecting From Web of "UINavigationBar पारदर्शी बनाओ"

यदि कोई सोच रहा है कि आईओएस 7+ में इसे कैसे प्राप्त किया जाए, तो यहां एक समाधान है (IOS 6 संगत भी)

उद्देश्य-सी में

[self.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault]; self.navigationBar.shadowImage = [UIImage new]; self.navigationBar.translucent = YES; 

तेज 3 में (आईओएस 10)

 self.navigationBar.setBackgroundImage(UIImage(), for: .default) self.navigationBar.shadowImage = UIImage() self.navigationBar.isTranslucent = true 

तेज 2 में

 self.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default) self.navigationBar.shadowImage = UIImage() self.navigationBar.translucent = true 

विचार-विमर्श

UINavigationBar प्रलेखन में चर्चा की गई एक व्यवहार के कारण, नेविगेशन बार पर translucent सेट करने के लिए नेविगेशन बार पर चाल UINavigationBar है। मैं यहां प्रासंगिक टुकड़ा रिपोर्ट करूंगा:

अगर आप इस संपत्ति को एक नेविगेशन बार पर एक अपारदर्शी कस्टम पृष्ठभूमि छवि के साथ सेट करते हैं, तो नेविगेशन बार छवि को 1.0 से कम एक सिस्टम अपारदर्शिता लागू करेगा।

IOS5 में आप नेविगेशन पट्टी पारदर्शी बनाने के लिए ऐसा कर सकते हैं:

 nav.navigationBar.translucent = YES; // Setting this slides the view up, underneath the nav bar (otherwise it'll appear black) const float colorMask[6] = {222, 255, 222, 255, 222, 255}; UIImage *img = [[UIImage alloc] init]; UIImage *maskedImage = [UIImage imageWithCGImage: CGImageCreateWithMaskingColors(img.CGImage, colorMask)]; [nav.navigationBar setBackgroundImage:maskedImage forBarMetrics:UIBarMetricsDefault]; [img release]; 

IOS7 से:

 self.navigationController.navigationBar.translucent = YES; self.navigationController.navigationBar.shadowImage = [UIImage new]; self.navigationController.view.backgroundColor = [UIColor clearColor]; [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault]; self.navigationController.navigationBar.backgroundColor = [UIColor clearColor]; 

स्विफ्ट 2.x में ऐसा करने वाले किसी के लिए:

 self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default) self.navigationController?.navigationBar.shadowImage = UIImage() self.navigationController?.navigationBar.translucent = true 

या स्विफ्ट 3.x:

 self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default) self.navigationController?.navigationBar.shadowImage = UIImage() self.navigationController?.navigationBar.isTranslucent = true 

यह काम करने लगता है:

 @implementation UINavigationBar (custom) - (void)drawRect:(CGRect)rect {} @end navigationController.navigationBar.backgroundColor = [UIColor clearColor]; 

मुझे पता है कि यह विषय पुराना है, लेकिन अगर लोग यह जानना चाहते हैं कि ड्रॉरेक्ट विधि को बिना ओवरलोड किए कैसे किया जाता है।

यह वही चीज़ है जिसकी आपको आवश्यकता है:

 self.navigationController.navigationBar.translucent = YES; self.navigationController.navigationBar.opaque = YES; self.navigationController.navigationBar.tintColor = [UIColor clearColor]; self.navigationController.navigationBar.backgroundColor = [UIColor clearColor]; 

क्या हर कोई ऊपर कहा, यानी के बाद:

 navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .default) navigationController?.navigationBar.shadowImage = UIImage() navigationController!.navigationBar.isTranslucent = true 

मेरी नेविगेशन बार अभी भी सफेद थी तो मैंने यह रेखा जोड़ा:

 navigationController?.navigationBar.backgroundColor = .clear 

… एट वॉला! वह चाल के समान लग रहा था।

कोड का निम्न भाग आज़माएं:

 self.navigationController.navigationBar.translucent = YES; 

नीचे दिए गए कोड को इस थ्रेड के लिए चुने गए शीर्ष उत्तर पर फैलता है, नीचे की सीमा से छुटकारा पाने के लिए और पाठ रंग सेट करें:

  1. इस कोड की अंतिम दो कोडित पंक्तियाँ पारदर्शिता सेट हैं मैंने इस धागे से उस कोड को उधार लिया और यह पूरी तरह से काम किया!

  2. "क्लिप टूबेन्ड्स" संपत्ति को कोड मिला जो मैंने पाया कि नीचे की सीमा रेखा से बिना या बिना पारदर्शिता सेट (इसलिए यदि आप इसके बजाय एक ठोस सफेद / काला / आदि पृष्ठभूमि के साथ जाने का फैसला करते हैं, तब भी कोई सीमा रेखा नहीं होगी)।

  3. "टिंटकॉलर" लाइन (दूसरी कोडित रेखा) एक हल्के भूरे रंग में मेरी पीठ बटन सेट करता है

  4. मैंने बैटिंग के रूप में बारटेन्ट कोलर रखा था मुझे नहीं पता है कि पारदर्शिता क्यों काम नहीं करेगी, लेकिन अगर यह नहीं है, तो मैं अपने बीजी सफेद चाहता हूं क्योंकि मैं इसे इस्तेमाल करता था

     var navigationBarAppearace = UINavigationBar.appearance() navigationBarAppearace.tintColor = UIColor.lightGrayColor() navigationBarAppearace.barTintColor = UIColor.whiteColor() navigationBarAppearace.clipsToBounds = true navigationBarAppearace.translucent = true navigationBarAppearace.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default) navigationBarAppearace.shadowImage = UIImage() 

स्विफ्ट 3.0 के लिए:

 override func viewDidLoad() { super.viewDidLoad() navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default) navigationController?.navigationBar.shadowImage = UIImage() navigationController?.navigationBar.isTranslucent = true } 

सी # / एक्समारिन समाधान

 NavigationController.NavigationBar.SetBackgroundImage(new UIImage(), UIBarMetrics.Default); NavigationController.NavigationBar.ShadowImage = new UIImage(); NavigationController.NavigationBar.Translucent = true; 

क्या आप पूरी तरह से पारदर्शी, या फोटो एप में दिखने वाले पारभासी-काले शैली का उपयोग करते हैं? इसके बाद आप अपनी barStyle संपत्ति को UIBarStyleBlackTranslucent सेट करके पूरा कर सकते हैं। पूर्व … मुझे इस बारे में निश्चित नहीं है यदि आप उस वस्तु को अभी भी दृश्यमान मानना ​​चाहते हैं, तो आपको बार के दृश्य पदानुक्रम में कुछ खुदाई करना पड़ सकता है और उस दृश्य को पृष्ठभूमि में शामिल करना हो सकता है

मेरे लिए काम करने वाला एक और तरीका उपवर्ग UINavigationBar है और drawRect विधि को खाली छोड़ दें !!

 @IBDesignable class MONavigationBar: UINavigationBar { // Only override drawRect: if you perform custom drawing. // An empty implementation adversely affects performance during animation. override func drawRect(rect: CGRect) { // Drawing code }} 

यह स्विफ्ट 2.0 के लिए काम करता है।

 navigationController!.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default) navigationController!.navigationBar.shadowImage = UIImage() navigationController!.navigationBar.translucent = true