2014-10-15 11 views
8

की ऊंचाई बढ़ाएं मैं नेविगेशन बार बनाने के लिए कहानी बोर्ड का उपयोग कर रहा हूं।स्थिति बार छुपाएं और UINavigationBar

मेरी आवश्यकता स्टेटस बार को छिपाने और नेविगेशन बार की ऊंचाई बढ़ाने के लिए है। जब मैं स्टेटस बार छुपाता हूं, तो नेविगेशन बार शीर्ष पर चिपक जाता है और ऊंचाई 44 पीएक्स होती है। मुझे नेविगेशन बार ऊंचाई 64 पीएक्स (44 पीएक्स + स्टेटस बार ऊंचाई) की आवश्यकता है। क्या इसे करने का कोई तरीका है?

स्थिति पट्टी के साथ

enter image description here स्थिति पट्टी के बिना Without Status bar

+0

हैलो, मेरे संपादित उत्तर की जांच करें। यह ठीक काम कर रहा है। –

उत्तर

7

शुरू करने के लिए, आप को छिपाने के अपने statusBar निम्न चरणों के द्वारा:

viewWillAppear में

पहले, इस कोड डाल :

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade]; 

दूसरा, अपने info.plist फ़ाइल सेट के रूप में नीचे दी गई छवि दिखाता है:

enter image description here

इसके बाद, आप UINavigationBar के Category कर सकते हैं और उस में navigaionBar की ऊंचाई सेट।

ऑब्जेक्टिव-सी

ज फ़ाइल में

@interface UINavigationBar (Custom) 
- (CGSize)sizeThatFits:(CGSize)size ; 

और .m फ़ाइल

@implementation UINavigationBar (Custom) 

- (CGSize)sizeThatFits:(CGSize)size { 
    CGFloat width = [UIScreen mainScreen].bounds.size.width; 
    CGSize newSize = CGSizeMake(width, 100); 
    return newSize; 
} 

स्विफ्ट में

extension UINavigationBar { 
    public override func sizeThatFits(size: CGSize) -> CGSize { 
     let width = UIScreen.mainScreen().bounds.width 
     let newSize = CGSize(width: width, height: 64) 
     return newSize 
    } 
} 
+0

धन्यवाद। मैंने इस विचार के बारे में सोचा। लेकिन क्या मुझे सभी दृश्य नियंत्रकों में 64px पर सभी सबव्यूज़ को वाई स्थिति समायोजित करने की आवश्यकता है? –

+0

सभी का दृश्य नहीं, केवल नेविगेशन सबव्यू। –

+0

मुझे दृश्य को आवंटित करना चाहिए। viewdidload में यह काम नहीं कर रहा है –

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