2014-02-14 2 views
1

У меня есть iOS 7 приложение и я установить текст строки состояния белого didFinishLaunchingWithOptions следующим образом:ИОС 7 - выбор фото из галереи сбросит statusBarStyle

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 

У меня есть WebView с JavaScript, который вызывает родной Image Picker. В Image Picker, когда я выбираю фотографию из галереи, текст строки состояния сбрасывается на черный.

Один из способов исправить это - снова применить вышеуказанный код при закрытии Image Picker. Однако я не могу обнаружить это событие, так как оно находится в веб-просмотре.

Любая идея, как исправить это?

+0

У меня есть решения для этого/ – moosa0709

ответ

1

Я решил ее реализации этого:

-(void) viewDidAppear:(BOOL)animated 
{ 

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 

    [super viewDidAppear:animated]; 

} 

Как только закрывает Photo Gallery, этот код называется.

0

Попробуйте нижний шаг.

-> Set the "View controller-based status bar appearance" to "NO" in the plist 

И затем использовать

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

     [UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 

} 
+0

У меня уже есть «Установить вид строки состояния на основе контроллера» на «НЕТ» в plist' – Ketan

3

Попробуйте этот код в ViewController это работает для меня

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated 
    { 
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 
    } 
+0

Мой 'UIViewController' - это одна страница без панели навигации и т. Д., Поэтому этот метод не получает вызов. – Ketan

+0

Вы пробовали это? – moosa0709

+0

Да, и это не работает, поскольку метод не вызван – Ketan