MPMoviePlayerController breaks/stops after going to fullscreen in iOS6

后端 未结 11 1049
南方客
南方客 2020-12-24 07:10

I have a MPMoviewPlayerViewController embedded into an UIView object. When I start the player in the embedded mode everything works fine and as exp

11条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-24 07:32

    I've solved this problem with a different approach. Since the main reason of the problem is iOS 6 calling viewWillDisappear: and/or viewDidDisappear: methods. I thought that maybe iOS also calling the same methods of MPMoviePlayerViewController. So I've created a Category for MPMoviePlayerViewController and implemented viewWillDisappear: and/or viewDidDisappear: methods. Interestingly it works. (by the way this is not recommended by apple)

    Here are the codes;

    Header (MPMoviePlayerViewController_FullscreenFix.h)

    #import 
    
    @interface MPMoviePlayerViewController (MPMoviePlayerViewController_FullscreenFix)
    - (void)viewDidDisappear:(BOOL)animated;
    - (void)viewWillDisappear:(BOOL)animated;
    @end
    

    Implementation (MPMoviePlayerViewController_FullscreenFix.m)

    #import "MPMoviePlayerViewController_FullscreenFix.h"
    
    @implementation MPMoviePlayerViewController (MPMoviePlayerViewController_FullscreenFix)
    
    -(void)viewDidDisappear:(BOOL)animated
    {
        [super viewDidDisappear:animated];
    }
    
    - (void)viewWillDisappear:(BOOL)animated{
        [super viewWillDisappear:animated];
    }
    
    @end
    

    Now my code is working on both iOS 6.1.3, 5.5.1 and 4.3.5 versions with the exactly same behavior.

提交回复
热议问题