【问题标题】:iOS: MPMoviePlayerController Done button doesn't workiOS:MPMoviePlayerController 完成按钮不起作用
【发布时间】:2011-06-15 11:02:06
【问题描述】:

我正在将 MPMoviePlayerController 添加到这样的视图中:

player = [[MPMoviePlayerController alloc] initWithContentURL:url];
player.controlStyle = MPMovieControlStyleNone; 
[player.view setFrame:self.playerView.bounds];     
[self.playerView addSubview:player.view];

self.playerView 是我的主视图中的一个小视图,我有自定义按钮来控制同一主视图中的播放。这一切都很好。

我有一个像这样工作的全屏按钮:

- (IBAction) btnFullScreenPressed:(id)sender {
    [player setFullscreen:TRUE animated:TRUE];
    [player setControlStyle:MPMovieControlStyleFullscreen];
}

这工作正常,但是当我点击全屏控件上的完成按钮时,电影停止播放,但不会返回到我视图中较小的 self.playerView。我怎样才能让它“非全屏”并返回到较小的 self.playerView?

谢谢。

【问题讨论】:

    标签: ios mpmovieplayercontroller fullscreen


    【解决方案1】:

    很不直观,您实际上必须将控件样式设置为默认值,即:

    - (IBAction) btnFullScreenPressed:(id)sender {
        [player setFullscreen:TRUE animated:TRUE];
        [player setControlStyle:MPMovieControlStyleDefault];
    }
    

    当然,当您收到 MPMoviePlayerWillExitFullscreenNotification 或 MPMoviePlayerDidExitFullscreenNotification 时将其设置回无(我更喜欢“退出”)。

    【讨论】:

    • 这对我不起作用。视频停止,但仍处于全屏模式。