경고 : 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
저에게 효과적이었습니다.
NB이 로직을 사용하는 앱이 앱 스토어에 있습니다. 그래서 앱 스토어 정책은 괜찮은 것 같아요.
편집하다:
자신의 책임하에 사용하십시오. 댓글 작성자 @Sebyddd 구성
한 앱이이 원인을 거부하고 다른 앱은 정상적으로 허용되었습니다. 그들은 그것을 개인 API 사용으로 간주하므로 검토 과정에서 운이 좋을 것입니다. :) – Sebyddd