iOS
स्थिति बार रंग बदलें
खोज…
गैर- UINavigationBar स्टेटस बार के लिए
- Info.plist में
YES
लिएView controller-based status bar appearance
सेट करें -
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];