Скрыть статус во время воспроизведения фильма с помощью MPMoviePlayerController

Я уже скрываю строку состояния в моем приложении, используя [[UIApplication sharedApplication] setStatusBarHidden:YES];, Но когда я играю фильм, автоматически отображается строка состояния вверху.

Кто-нибудь знает, как скрыть строку состояния при воспроизведении фильма.

2 ответа

MPMoviePlayerViewController *playercontroller = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:path]];
    [AppShare.viewController presentMoviePlayerViewControllerAnimated:playercontroller];
    //[self.view addSubview: playercontroller.view];
    [self.view addSubview:playercontroller.view];
    playercontroller.moviePlayer.view.frame = CGRectMake(0.0, 0.0, 320.0, 480.0);
    playercontroller.moviePlayer.scalingMode = MPMovieScalingModeAspectFill;
    playercontroller.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
    playercontroller.moviePlayer.controlStyle = MPMovieControlStyleNone;
    [playercontroller.moviePlayer prepareToPlay];
    [playercontroller.moviePlayer play];
    playercontroller = nil;

Вы можете подписаться на MPMoviePlayerPlaybackStateDidChangeNotification уведомление и убедитесь, что строка состояния скрыта, как только начинается воспроизведение.

Ваш обработчик будет выглядеть примерно так:

- (void)playbackStateDidChange:(NSNotification *)notification {
    MPMoviePlayerController *mpv = (MPMoviePlayerController *)notification.object;
    if (mpv.playbackState == MPMoviePlaybackStatePlaying) {
        [[UIApplication sharedApplication] setStatusBarHidden:YES];
    }
}
Другие вопросы по тегам