2015-02-19 2 views
0

Я хочу, чтобы строка состояния была скрыта в моем приложении. По моему Plist я поставил: Status Bar изначально скрыты - ДА Посмотреть на базе контроллера в строке состояния внешний вид - НЕТUIImagePickerController stiding status bar iOS 8

Это прекрасно работает, пока не представит UIImagePickerController. Он хочет показать строку состояния. Поэтому в willShowViewController для делегата navigationController я вызываю [[UIApplication sharedApplication] setStatusBarHidden: YES]. Это фактически скрывает строку состояния, но в навигационном контроллере происходит смещение, подобное анимации. Я потратил некоторое время, пытаясь остановить эту анимацию. У кого-нибудь есть идеи, как остановить его? Благодарю.

ответ

0

Попробуйте

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone]; 
+0

Я пробовал это, он все еще оживляет. – user2665402

0

Подкласс UIImagePickerController и определить prefersStatusBarHidden метод, вернуть YES, если вы хотите, чтобы скрыть строку состояния.

+0

Я пробовал, что он все еще оживляет. Кстати, для всех тех, кто предлагает использовать prefersStatusBarHidden в подклассах, catagories и uiviewcontrollers, на которые будет вызываться только View, на панели состояния на панели управления установлено значение YES. В противном случае он никогда не будет вызван. – user2665402

+0

Делает смысл. Как насчет вызова setStatusBarHidden: из viewWillAppear или viewDidAppear? – Andy

+0

Я предполагаю, что вы имеете в виду UIViewController, откуда представлен UIImagePickerController. Я попробовал, чтобы он все еще мерцал. Я попробовал подклассифицировать UIImagePickerController и поместить его в его iewWillAppear и viewDidAppear. Все еще мерцает. Я думаю, что это ошибка в iOS 8. Я подал ошибку Radar. До сих пор нет ответа от Apple. – user2665402

0

Оказалось, что это ошибка в iOS 8. Я подал ошибку радара, и Apple предложила попробовать бета 8.3. С бета-версией я больше не вижу анимацию.