स्प्लैश स्क्रीन iOS 7 में स्टेटस बार टेक्स्ट कलर बदलना


98

मुझे पता है कि पहले से ही कुछ स्टैकओवरफ्लो प्रश्न हैं जो कहते हैं कि सभी व्यू कंट्रोलर्स के लिए स्टेटस बार को कैसे बदलना है। मैं इस समय स्टेटस बार का रंग बदल रहा हूँ:

if(IS_IOS7)
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

में application:DidFinishLaunching

इसके अतिरिक्त, मैंने UIViewControllerBasedStatusBarAppearanceप्लिस्ट में मान को बदल दिया है NO। हालांकि, स्प्लैशस्क्रीन में यह स्टेटस बार टेक्स्ट को काले रंग के साथ दिखाता है।

क्या स्प्लैश स्क्रीन में स्टेटस बार टेक्स्ट का रंग बदलना संभव है ?


आपका क्या मतलब है 'यह अभी भी ब्लैक कलर के साथ स्टेटस बार दिखाता है': यदि आपका कोड काम करता है, तो स्टेटस बार फॉन्ट सफेद होना चाहिए, स्टेटस बार बैकग्राउंड कलर आपकी स्पलैश इमेज पर निर्भर करता है (जिसमें अब स्टेटस बार की ऊंचाई शामिल होनी चाहिए - 20 पिक्सल)
विनज़्ज़

क्षमा करें, मुझे वास्तव में पाठ शब्द याद आ गया। मैं केवल स्टेटस बार का टेक्स्ट कलर बदल रहा हूं। मैं छप स्क्रीन होने के बाद इसे बदल सकता हूं लेकिन जब छप स्क्रीन हो रही है तो मैं इसे बदल नहीं सकता।
टियागो अल्मेडा

जवाबों:


224

प्रोजेक्ट प्लिस्ट फ़ाइल में "स्टेटस बार स्टाइल" प्रॉपर्टी (कुंजी है UIStatusBarStyle) जोड़ें। फिर इस संपत्ति के लिए ड्रॉप डाउन में सूचीबद्ध सभी संभावित मानों को अनदेखा करें और UIStatusBarStyleLightContentइसके बजाय टाइप करें ।

और आपको अपनी मुट्ठी में सेट UIViewControllerBasedStatusBarAppearanceकरने की ज़रूरत नहीं है NO, आप preferredStatusBarStyleअपने व्यू कंट्रोलर्स को सेट कर सकते हैं।


क्या आईओएस 6 पर टिंटेड स्टेटस बार के साथ इसे संगत बनाने का कोई तरीका है?
राफेल नोब्रे

1
स्टेटस बार का टेक्स्ट रंग या तो सफेद है, या काला है। बार की पृष्ठभूमि आपकी लॉन्च छवि से आती है, फिर आपके व्यूकंट्रोलर के दृष्टिकोण से अगर यह सलाखों के नीचे फैली हुई है।
विनजेज़

1
विभिन्न तरीकों के टन के बाद, यह एक अंतिम रूप से काम किया (UIViewControllerBasedStatusBarAppearance NO के लिए) के साथ। आप एक नायक हो।
तमसेन सेंगेल

आप इसे UIApplication.sadedApplication ()। statusBarStyle = .LightContent के माध्यम से भी कर सकते हैं। मैं इसे AppDelegate
Yasmin Tiomkin

@ यास्मीन: चेंज कलर के चैंजर कलर के लिए, यह सॉल्यूशन पहले से ही सवाल का हिस्सा था;)
विनज़ेज़

33

आप किसी भी लाइन के कोड को लिखे बिना ऐसा कर सकते हैं
पूरे ऐप के माध्यम से स्टेटस बार टेक्स्ट का रंग सफेद करने के लिए निम्न कार्य करें

आप plist फ़ाइल पर परियोजना :

  • स्थिति बार शैली: UIStatusBarStyleLightContent
  • नियंत्रक-आधारित स्थिति बार उपस्थिति देखें: NO
  • स्टेटस बार शुरू में छिपा होता है: NO

स्वीकृत उत्तर अच्छा है, लेकिन ऊपर की दूसरी बुलेट को किए बिना यह मेरे सभी दृश्य नियंत्रकों पर काम नहीं करता। धन्यवाद!
क्लिफ्टन लैब्रम

"नियंत्रक-आधारित स्थिति बार उपस्थिति देखें: YES" अभी भी चाल (iOS 9) करने के लिए लगता है
निकोलस मिआरी

19

आप पूरे एप्लिकेशन में लाइट कलर स्टेटस बार प्राप्त करने के लिए निम्न चीजें कर सकते हैं।

  1. प्रोजेक्ट नेविगेटर में प्रोजेक्ट का नाम चुनें।
  2. प्रोजेक्ट एडिटर के बाएं कॉलम में सूची से लक्ष्य का नाम चुनें।
  3. प्रोजेक्ट एडिटर में सबसे ऊपर जनरल पर क्लिक करें।
  4. सेट स्थिति बार शैली -> प्रकाश

अपनी plist फ़ाइल में निम्नलिखित मान जोड़ें:

  1. स्थिति बार शैली - UIStatusBarStyleLightContent
  2. नियंत्रक-आधारित स्थिति बार उपस्थिति देखें - नहीं

यह आपको SPLASH SCREEN सहित पूरे एप्लिकेशन में WHITE रंग में स्टेटस बार प्राप्त करने में मदद करेगा।


7

UIViewControllerBasedStatusBarAppearanceप्लिस्ट में No से No पर सेट करें

फिर किया गया लॉन्च विकल्प में निम्न कोड जोड़ें

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {

   [application setStatusBarStyle:UIStatusBarStyleLightContent];

    self.window.clipsToBounds =YES;

    self.window.frame =  CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20);
}

कृपया मेरे द्वारा काम किए गए इस कोड का पालन करें


यह स्टेटस बार पर व्हाइट टेक्स्ट दिखा रहा है जबकि मेरा बैकग्राउंड भी हल्का है। मैं काला पाठ कैसे दिखा सकता हूँ
मंगेश

टारगेट पर मंगेश सामान्य सेटिंग्स में जाएं, वहां आपके पास स्टेटस बार स्टाइल सेट करने का विकल्प होगा
प्रीजिथ अगस्टाइन

आप वास्तव में यह लिख सकते हैं कि पहली पंक्ति थोड़ी सी सरल है, जो वाक्य रचना का उपयोग कर रही है, जैसे: if (UIDevice.currentDevice.systemVersion.floatValue >= 7) {
टॉड लेहमन

2

यहाँ स्थिति पट्टी परिवर्तन के बारे में Apple दिशानिर्देश / निर्देश है

यहाँ है - स्टेटस बार स्टाइल कैसे बदलें:

यदि आप स्टेटस बार स्टाइल, एप्लिकेशन स्तर सेट करना चाहते हैं तो अपनी `.plist 'फ़ाइल में सेट UIViewControllerBasedStatusBarAppearanceकरें NO

यदि आप व्यूअर स्तर पर स्टेटस बार स्टाइल सेट करना चाहते हैं, तो इन चरणों का पालन करें:

  1. सेट UIViewControllerBasedStatusBarAppearanceकरने के लिए YESमें .plist, फ़ाइल यदि आप केवल UIViewController स्तर पर सेट स्थिति पट्टी शैली की जरूरत है।
  2. ViewDidLoad में फ़ंक्शन जोड़ें - setNeedsStatusBarAppearanceUpdate

  3. अपने दृश्य नियंत्रक में अधिमान्यस्टैटबर्टल को ओवरराइड करें।

-

override func viewDidLoad() {
    super.viewDidLoad()
    self.setNeedsStatusBarAppearanceUpdate()
}

override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

स्थिति बार शैली सेटअप स्तर के अनुसार .plist का मान सेट करें। यहां छवि विवरण दर्ज करें


आप एप्लिकेशन लॉन्च के दौरान या अपने व्यू कंट्रोलर के व्यूडलड के दौरान स्टेटस बार के लिए बैकग्राउंड कलर सेट कर सकते हैं।

extension UIApplication {

    var statusBarView: UIView? {
        return value(forKey: "statusBar") as? UIView
    }

}

// Set upon application launch, if you've application based status bar
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        UIApplication.shared.statusBarView?.backgroundColor = UIColor.red
        return true
    }
}


or 
// Set it from your view controller if you've view controller based statusbar
class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        UIApplication.shared.statusBarView?.backgroundColor = UIColor.red
    }

}



यहाँ परिणाम है:

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


1

आप पूरे एप्लिकेशन में लाइट कलर स्टेटस बार प्राप्त करने के लिए निम्न चीजें कर सकते हैं।

प्रोजेक्ट नेविगेटर में प्रोजेक्ट का नाम चुनें। प्रोजेक्ट एडिटर के बाएं कॉलम में सूची से लक्ष्य का नाम चुनें। प्रोजेक्ट एडिटर में सबसे ऊपर जनरल पर क्लिक करें। सेट स्थिति बार शैली -> प्रकाश

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.