खोज…


गैर- UINavigationBar स्टेटस बार के लिए

  1. Info.plist में YES लिए View controller-based status bar appearance सेट करें
  2. UINavigationController द्वारा समाहित नहीं किए गए नियंत्रकों को ध्यान में रखते हुए।

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

- (UIStatusBarStyle)preferredStatusBarStyle
{ 
    return UIStatusBarStyleLightContent; 
}

स्विफ्ट में:

override func preferredStatusBarStyle() -> UIStatusBarStyle {
    return UIStatusBarStyle.LightContent
}

UINavigationBar स्टेटस बार के लिए

उपवर्ग UINavigationController और फिर इन विधियों को ओवरराइड करें:

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

- (UIStatusBarStyle)preferredStatusBarStyle
{ 
    return UIStatusBarStyleLightContent; 
}

स्विफ्ट में:

override func preferredStatusBarStyle() -> UIStatusBarStyle {
    return .lightContent
}

वैकल्पिक रूप से, आप सेट कर सकते हैं barStyle पर UINavigationBar उदाहरण:

उद्देश्य सी:

// e.g. in your view controller's viewDidLoad method:
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;  // this will give you a white status bar

तीव्र

// e.g. in your view controller's viewDidLoad method:
navigationController?.navigationBar.barStyle = .black // this will give you a white status bar

UIBarStyle विकल्प default , black , black , black , black और blackOpaque black blackTranslucent । बाद के 3 को आपको सफेद पाठ के साथ एक स्टेटस बार देना चाहिए, बस आखिरी दो बार की अस्पष्टता को निर्दिष्ट करें।

ध्यान दें: आप अभी भी अपने नेविगेशन बार की तरह बदल सकते हैं।

यदि आप ViewController का कोड नहीं बदल सकते हैं

यदि आप लाइब्रेरी का उपयोग कर रहे हैं, जिसमें (उदाहरण के लिए) एक गलत स्थिति बार रंग के साथ AwesomeViewController शामिल है, तो आप यह कोशिश कर सकते हैं:

  let awesomeViewController = AwesomeViewController()
  awesomeViewController.navigationBar.barStyle = .blackTranslucent // or other style

ViewController नियंत्रण के लिए

यदि आप UIViewControllerContainment का उपयोग कर रहे हैं तो कुछ अन्य तरीके हैं जो देखने लायक हैं।

जब आप एक बच्चे को देखना चाहते हैं तो स्थिति पट्टी की प्रस्तुति को नियंत्रित करने के लिए कंट्रोलर (यानी यदि बच्चा स्क्रीन के शीर्ष पर स्थित है

स्विफ्ट में

class RootViewController: UIViewController {

    private let messageBarViewController = MessageBarViewController()        

    override func childViewControllerForStatusBarStyle() -> UIViewController? {
        return messageBarViewController
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        
        //add child vc code here...

        setNeedsStatusBarAppearanceUpdate()
    }
}

class MessageBarViewController: UIViewController {
    
    override func preferredStatusBarStyle() -> UIStatusBarStyle {
        return .Default 
    }
}

पूरे आवेदन के लिए स्थिति पट्टी शैली को बदलना


स्विफ्ट:


चरण 1:

अपने Info.plist में निम्नलिखित विशेषता जोड़ें:

View controller-based status bar appearance

और इसके मूल्य को निर्धारित करें

NO

जैसा कि नीचे की छवि में वर्णित है:

यहाँ छवि विवरण दर्ज करें

चरण 2:

अपने AppDelegate.swift फ़ाइल में, didFinishLaunchingWithOptions विधि में, इस कोड को जोड़ें:

UIApplication.shared.statusBarStyle = .lightContent

या

UIApplication.shared.statusBarStyle = .default
  • .LightContent विकल्प पूरे अनुप्रयोग के लिए, सफेद करने के लिए स्थिति बार के रंग सेट हो जाएगा।

  • .DEFAULT विकल्प पूरे अनुप्रयोग के लिए, मूल काले रंग के लिए स्थिति बार के रंग सेट हो जाएगा।


उद्देश्य सी:


स्विफ्ट सेक्शन के पहले स्टेप को फॉलो करें। फिर इस कोड को AppDelegate.m फाइल में जोड़ें:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

या

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow