ReplayKit, строка состояния не исчезает после предварительного просмотра

В моем приложении строка состояния всегда скрыта.

За исключением просмотра записанного предварительного просмотра, строка состояния появляется при просмотре предварительного просмотра в контроллере предварительного просмотра, но она не исчезает при закрытии контроллера предварительного просмотра. Я дважды проверил, что prefersStatusBarHidden возвращает YES для контроллера, который я использую. Мне действительно нужно, чтобы строка состояния всегда была скрыта.

  • [[UIApplication sharedApplication] setStatusBarHidden:YES]; не помогает. Я попытался вызвать это в обработчике dismissViewControllerAnimated:completion:.
  • [self.viewController setNeedsStatusBarAppearanceUpdate]; тоже не помогает. Я попытался вызвать это в обработчике dismissViewControllerAnimated:completion:.

Я заметил, что строка состояния, кажется, исчезает должным образом, если пользователь переходит на главный экран и обратно. Однако этого недостаточно для исправления.


person Jonny    schedule 07.04.2016    source источник


Ответы (2)


Я починил это. Делегатам ReplayKit необходимо выполнять действия с пользовательским интерфейсом в основном потоке, включая отключение контроллера предварительного просмотра. Когда я это исправил, проблема со строкой состояния исчезла.

person Jonny    schedule 11.04.2016

Кажется странным, что он не работает в iOS 9.0.2, но работает в другой версии системы?

- (void)previewControllerDidFinish:
(RPPreviewViewController*)previewController
{
    dispatch_async(dispatch_get_main_queue(), ^{
        if (previewController != nil)
        {
            [previewController dismissViewControllerAnimated:YES completion: 
nil];
        }
    });
}

Установите для параметра Просмотр внешнего вида строки состояния на основе контроллера в info.plist значение YES и возврат YES из prefersStatusBarHidden Метод в viewController у меня работает

- (BOOL)prefersStatusBarHidden
{
    return YES;
}

и этот сайт может помочь: https://forums.developer.apple.com/thread/19626< /а>

person Dikey    schedule 05.07.2017