Bu problemi yaşadım ve tek bir delege fonksiyonu uygulayarak çözebildim. Durum çubuğumun arka planı siyah, bu yüzden uygulamam için UIStatusBarStyle .LightContent. Aygıt depolama alanından bir fotoğraf seçmek için UIImagePickerController sundu, durum çubuğu iyiydi. Ancak, "Film Rulosu" veya "Sık Kullanılanlar" gibi bir dizini tıklattığınızda, gezinme yığınını etkin bir şekilde zorlayan durum çubuğu kayboldu. Bir fotoğraf seçildiğinde hiçbir durum çubuğu yoktu; başka bir modsal görünüm denetleyicisini kapattıktan sonra, durum çubuğunun geri kalanının da siyah olabileceğini gösteren yalnızca pil vardı.
UIImagePickerController genişletme gibi diğer bazı çözümleri denedim, ancak Swift'te uzantıları kullanarak geçersiz kılamazsınız. Daha sonra UIImagePickerController alt sınıfını denemek ve viewWillAppear () üzerinde durum çubuğunu gizlemeye ve viewWillDisappear üzerinde durum çubuğunu göstermeye çalıştım. Durum çubuğunun bir .Slide animasyonu ile gizlendiğini görebildim, ancak durum çubuğu bir dizin seçildiğinde görünmez olduğundan, durum çubuğunun gösterilmediğini göremedim. Yine, yeşil pil, modal görüntü denetleyicisini kapattıktan sonra durum çubuğunun geri kalanıyla görünmez olarak geri geldi. Ayrıca prefersStatusBarHidden () geçersiz kılmayı denedim, ancak bu işlev asla çağrılmadı, bu yüzden sistem tarafından prefersStatusBarHidden () çağrıldığından emin olmak için setNeedsStatusBarAppearanceUpdate () öğesini çağırmayı denedim, ancak yine de çağrılmadı. Ayrıca, durum çubuğunu temsilci yönteminde gizlenecek şekilde ayarlama önerisi navigationController willShowViewController. Bir kez daha, tüm bunlar sorunu çözmeyen durum çubuğunu gizlemek. Anlaşıldığı gibi, UIImagePickerController'ın gezinme yığınına itildiğinde durum çubuğu stilinin değiştiği görülüyor. Sorunu tamamen çözmek için UIImagePickerController uzantıları veya alt sınıf yazmak zorunda kalmadım. Tek yapmanız gereken temsilciyi ayarlamak ve durum çubuğu stilini aynı kalacak şekilde ayarlamaktır. Bu ekleme sorunu hiç yaşamamış gibi yaptı. durum çubuğu stilinin UIImagePickerController'ın gezinme yığınına itildiğinde değiştiği görülüyor. Sorunu tamamen çözmek için UIImagePickerController uzantıları veya alt sınıf yazmak zorunda kalmadım. Tek yapmanız gereken temsilciyi ayarlamak ve durum çubuğu stilini aynı kalacak şekilde ayarlamaktır. Bu ekleme sorunu hiç yaşamamış gibi yaptı. durum çubuğu stilinin UIImagePickerController'ın gezinme yığınına itildiğinde değiştiği görülüyor. Sorunu tamamen çözmek için UIImagePickerController uzantıları veya alt sınıf yazmak zorunda kalmadım. Tek yapmanız gereken temsilciyi ayarlamak ve durum çubuğu stilini aynı kalacak şekilde ayarlamaktır. Bu ekleme sorunu hiç yaşamamış gibi yaptı.
let pickerController = UIImagePickerController()
pickerController.delegate = self
func navigationController(navigationController: UINavigationController, willShowViewController viewController: UIViewController, animated: Bool) {
UIApplication.sharedApplication().setStatusBarStyle(.LightContent, animated: false)
}