चेतावनी: यह अब iOS 13 और Xcode 11 के साथ काम नहीं करता है।
================================================== ======================
मुझे अन्य तरीकों की तलाश करने की कोशिश करनी थी। जो addSubview
खिड़की पर शामिल नहीं है । क्योंकि मैं कुंजीपटल प्रस्तुत करते समय खिड़की को ऊपर उठा रहा हूं।
उद्देश्य सी
- (void)setStatusBarBackgroundColor:(UIColor *)color {
UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
if ([statusBar respondsToSelector:@selector(setBackgroundColor:)]) {
statusBar.backgroundColor = color;
}
}
तीव्र
func setStatusBarBackgroundColor(color: UIColor) {
guard let statusBar = UIApplication.sharedApplication().valueForKey("statusBarWindow")?.valueForKey("statusBar") as? UIView else {
return
}
statusBar.backgroundColor = color
}
स्विफ्ट 3
func setStatusBarBackgroundColor(color: UIColor) {
guard let statusBar = UIApplication.shared.value(forKeyPath: "statusBarWindow.statusBar") as? UIView else { return }
statusBar.backgroundColor = color
}
इस फॉर्म को कॉल करना application:didFinishLaunchingWithOptions
मेरे लिए काम कर गया।
NB हमारे पास इस तर्क के साथ ऐप स्टोर में एक ऐप है। इसलिए मुझे लगता है कि यह ऐप स्टोर पॉलिसी के साथ ठीक है।
संपादित करें:
अपने जोखिम पार इस्तेमाल करें। टिप्पणी करने वाला फॉर्म @Sebyddd
मेरे पास एक ऐप इस कारण से खारिज कर दिया गया था, जबकि दूसरे को ठीक माना गया था। वे इसे निजी एपीआई उपयोग मानते हैं, इसलिए आप समीक्षा प्रक्रिया के दौरान किस्मत के अधीन हैं :) - सेबीडड