我使用UIViewControllerBasedStatusBarAppearance
和preferredStatusBarStyle
來管理狀態欄的顏色和外觀。作物中的UIImagePickerController狀態欄問題
我的應用程序允許用戶從他的相機膠捲中選擇一張照片,並使用UIImagePickerController
的原生裁剪選項將其裁剪爲正方形。
所以我推UIImagePickerController
並啓用編輯來獲取裁剪屏幕。
問題是,我想爲相冊和照片查看,狀態欄將是白色的,而對於裁剪視圖,我想隱藏狀態欄。
我該怎麼做preferredStatusBarStyle
?
到現在爲止我做了一個類別UIImagePickerController
和實施:
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
這確實是設置照片的狀態欄白色的顏色,但要裁剪視圖時,狀態欄將變爲黑色,這可能是對我很好,因爲我想隱藏它,背景是黑色的,所以你看不到它,但電池指示燈是綠色的!所以你只能看到狀態欄中的電池指示器!
我該如何解決這個問題?我怎樣才能只在裁剪視圖中隱藏狀態欄?
但我的問題是,我不知道UIImagePickerController推動哪個控制器,它的所有私人。例如它可以堆疊幾個視圖控制器:專輯,照片和裁剪。如果我只想隱藏作物控制器中的狀態欄,我怎麼知道? – Mario 2014-12-08 08:32:24
對,您可以使用'NSStringFromClass(self.topViewController.class)'來獲取私有類的字符串名稱。這樣你可以識別控制器。 – Andy 2014-12-08 09:38:46
我想你會發現,一個父視圖控制器的'prefersStatusBarHidden'不會再次調用一個孩子被推動,除非使用'setNeedsStatusBarAppearanceUpdate'。 – 2014-12-23 21:22:02