MPMoviePlayerViewController в UIModalPresentationFormSheet Проблема - PullRequest
1 голос
/ 06 марта 2011

Моя проблема в том, что у меня есть MPMoviePlayerViewController, встроенный в modalviewcontroller, у которого есть атрибут formheet, и когда видео переходит в полноэкранный режим, используя пинч или стрелки, элементы управления не работают.

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

Это проблема, так как элементы управления фильмом не могут быть использованы из-за этой проблемы.Кто-нибудь может помочь?

1 Ответ

1 голос
/ 26 июня 2011

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

- (void) movieDidEnterFullscreen: (NSNotification *) уведомление {

NSLog(@"did enter");

self.navigationController.view.superview.frame = CGRectMake(0, 0, 1500,1500);

self.navigationController.view.superview.center = self.view.center;

[mpviewController moviePlayer].controlStyle = MPMovieControlStyleDefault;

}

- (void) movieDidExitFullscreen: (NSNotification *) уведомление {

NSLog(@"did exit");

UIDevice *device = [UIDevice currentDevice];
[device beginGeneratingDeviceOrientationNotifications];

if (([device orientation] == UIDeviceOrientationLandscapeLeft) || ([device orientation] == UIDeviceOrientationLandscapeRight)){
    self.navigationController.view.superview.frame = CGRectMake(0, 0, 620,540);
    self.navigationController.view.superview.center = CGPointMake(384, 512);
}

else {

    self.navigationController.view.superview.frame = CGRectMake(0, 0, 540,620);
    self.navigationController.view.superview.center = CGPointMake(384, 512);

}


[mpviewController moviePlayer].controlStyle = MPMovieControlStyleEmbedded;

}

...