2014-07-14 17 views
18

में स्टेटस बार का रंग टेक्स्ट मैंने स्टेटस बार रंग टेक्स्ट को संशोधित करने का प्रयास किया है लेकिन this thread से कोई भी जवाब नहीं देता है। कोई विशेष रूप से एक्सकोड 6 के लिए?एक्सकोड 6-बी 3 (स्विफ्ट)

मैं कोशिश की है डालने:

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

UIViewController

भी

UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent, animated: true) 

AppDelegate.swift करने और मैं परिवर्तन यह info.plist में की कोशिश की है लेकिन यह प्रभावित नहीं करता है करने के लिए यह। स्टेटस बार रंग टेक्स्ट को सफेद में कैसे बदलें?

उत्तर

51

आपकी जानकारी में। आपको परिभाषित करने की आवश्यकता है नियंत्रक-आधारित स्टेटस बार उपस्थिति किसी भी मान पर देखें।

enter image description here

आपको इसे निर्धारित हैं हाँ तो आप प्रत्येक दृश्य नियंत्रक में preferredStatusBarStyle समारोह ओवरराइड करना चाहिए।

आप इसे नहीं तो आप शैली AppDelegate में

UIApplication.sharedApplication().statusBarStyle = .LightContent

+1

मुझे मिल गया! मेरे पास info.plist में "कंट्रोलर-आधारित स्टेटस बार उपस्थिति" नहीं है। मैंने इसे मैन्युअल रूप से जोड़ा और परिभाषित किया। धन्यवाद। –

+0

मैं इसे कई तरीकों से आजमाउंगा, हालांकि मैं इसे UIStatusBar का रंग बदलने के लिए प्रबंधित नहीं कर सकता :( –

+0

@JorgeVicenteMendoza, क्या यह हमेशा पारदर्शी होता है? – Keenle

0

Keenle का उपयोग कर सही पर, iOS7 के बाद से, आप है, इससे पहले कि ViewController आधारित स्थिति पट्टी शैलियों से बाहर रहने का सेट कर सकते हैं निर्धारित करते हैं आप इसे ऐप-वाईड सेट कर सकते हैं।

डॉक: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/index.html#//apple_ref/occ/instm/UIApplication/setStatusBarStyle:animated:

"दृश्य नियंत्रक आधारित स्थिति पट्टी उपस्थिति व्यवहार से बाहर निकलना करने के लिए, आप अपने ऐप के Info.plist फाइल करने के लिए नहीं के एक मूल्य के साथ UIViewControllerBasedStatusBarAppearance कुंजी जोड़ना होगा, लेकिन ऐसा इसलिए अनुशंसित नहीं है। "

+2

यह एक टिप्पणी चाहिए, जवाब नहीं! –

1

Yes करने के लिए अपने Info.plist फ़ाइल में View controller-based status bar appearance स्थापित करने के लिए सुनिश्चित करें।

इसके अलावा, यदि आप एक यूआईएनएविगेशन नियंत्रक में हैं, तो आप शैली को केवल व्यू कंट्रोलर में सेट नहीं कर सकते हैं। UINavigationController उपवर्ग है और यह करने के लिए इस जोड़ें:

override func preferredStatusBarStyle() -> UIStatusBarStyle { 

    if let vc = self.viewControllers?.last as? UIViewController { 
     return vc.preferredStatusBarStyle() 
    } 

    return super.preferredStatusBarStyle() 
} 

अब आप UIViewController उपवर्ग में बार शैली सेट कर सकते हैं और UINavigationController इसे करने के लिए :) सुनेगा।

3

बस अपने plist करने के लिए "देखें नियंत्रक आधारित स्थिति पट्टी उपस्थिति == नहीं" सेट और didfinshLaunching विधि में अपने AppDelegate कक्षा में एक पंक्ति डाल दिया।

UIApplication.sharedApplication().statusBarStyle = .LightContent 
2

स्विफ्ट 3।0

बस अपने *.plist में View controller-based status bar appearance == NO सेट और return से पहले didFinishLaunchingWithOptions विधि में अपने AppDelegate कक्षा में कोड नीचे डाल दिया।

let statusBar: UIView = UIApplication.shared.value(forKey: "statusBar") as! UIView 
if statusBar.responds(to:#selector(setter: UIView.backgroundColor)) { 
    statusBar.backgroundColor = UIColor.red 
} 
UIApplication.shared.statusBarStyle = .lightContent 

आप अपने आवश्यकता के अनुसार backgroundColor और statusBarStyle बदल सकते हैं।

+1

आपको शुभकामनाएं महोदय! – August

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