Попередження: Це більше не працює з iOS 13 та Xcode 11.
====================================================== ======================
Довелося спробувати шукати інші шляхи. Що не стосується addSubview
вікна. Тому що я рухаюся вгору по вікні, коли представлена клавіатура.
Завдання-C
- (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
мені спрацював.
Примітка. У нас є програма в магазині додатків з такою логікою. Тож, думаю, це нормально з політикою магазину додатків.
Редагувати:
Використовуйте на власний ризик. Створіть коментатора @Sebyddd
У мене одна програма відхилила причину цього, тоді як іншу прийняли просто чудово. Вони вважають це приватним використанням API, тож під час розгляду вам пощастить :) - Sebyddd