Sunday, 19 January 2014

MPMoviePlayerController Exiting Fullscreen Pushes View Behind Status Bar


if wait status bar , time bar disappear after playing movie, , rotate landscape, , portrait, click done, original view shifts behind status bar (see picture below). here code playing video:
code:
- (ibaction)play {  		nsbundle *bundle = [nsbundle mainbundle];  		nsstring *moviepath = [bundle pathforresource:@"welcome" oftype:@"mp4"];  		nsurl  *movieurl = [[nsurl fileurlwithpath:moviepath] retain];  		self.player =                    [[mpmovieplayercontroller alloc] initwithcontenturl: movieurl];                    [player preparetoplay];                   player.allowsairplay = yes;          player.scalingmode = mpmoviescalingmodeaspectfit;            self.player.view.frame = self.view.frame;            [self.view addsubview: player.view];          [self.player setfullscreen:yes animated:yes];            // ...                    [[nsnotificationcenter defaultcenter]            addobserver:self           selector:@selector(moviefinishedcallback:)           name:mpmovieplayerplaybackdidfinishnotification           object:player];                            [[nsnotificationcenter defaultcenter] addobserver:self selector:@selector(exitedfullscreen:) name:mpmovieplayerdidexitfullscreennotification object:player];                     [[nsnotificationcenter defaultcenter] addobserver:self                                                   selector:@selector(movieplayerwillexitfullscreen:)                                                       name:mpmovieplayerwillexitfullscreennotification                                                     object:player];                      [player play];  	  	  }  	  - (void) moviefinishedcallback:(nsnotification*) anotification {          nslog(@"moviedone");            [player.view removefromsuperview];         [[nsnotificationcenter defaultcenter]       removeobserver:self       name:mpmovieplayerplaybackdidfinishnotification       object:player];     }    - (void) exitedfullscreen:(nsnotification*) anotification {             nslog(@"moviedone");      [player.view removefromsuperview];         [[nsnotificationcenter defaultcenter]       removeobserver:self       name:mpmovieplayerdidexitfullscreennotification       object:player];      }  - (void)movieplayerwillexitfullscreen:(nsnotification*) anotification {      [player stop];      [self dismissmovieplayerviewcontrolleranimated];      [[nsnotificationcenter defaultcenter] removeobserver:self name:mpmovieplayerwillexitfullscreennotification object:player];  }  
[​img]
 

nslog self.view.frame assigning, should explain alot :)
 


Forums iPhone, iPad, and iPod Touch iOS Programming


  • iPhone
  • Mac OS & System Software
  • iPad
  • Apple Watch
  • Notebooks
  • iTunes
  • Apple ID
  • iCloud
  • Desktop Computers
  • Apple Music
  • Professional Applications
  • iPod
  • iWork
  • Apple TV
  • iLife
  • Wireless

No comments:

Post a Comment