คำเตือน: ไม่สามารถใช้งานได้กับ 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