1

내 문제는 Formheet 속성이있는 modalviewcontroller 안에 MPMoviePlayerViewController가 포함되어 있고 비디오가 핀치 또는 화살표를 사용하여 전체 화면으로 이동하면 컨트롤이 작동하지 않는다는 것입니다.UIModalPresentationFormSheet의 MPMoviePlayerViewController 문제

modalviewcontroller를 만드는 직사각형 내부에만 닿기 때문에 일을하지 않는다는 것을 알아 냈습니다. 예를 들어 사각형 내부를 확대/축소하려면 두 번 두드리면 다른 곳에서는 그렇지 않습니다.

이 문제로 인해 영화 컨트롤을 사용할 수 없기 때문에이 문제가 발생합니다. 누구든지 도와 줄 수 있습니까?

+0

나는 그것을 결국 알아 냈다. 동영상 플레이어가보기 내부에서 상호 작용 만 허용하는 모달보기 안에 있었기 때문에 내부에서만 작동했습니다. 동영상은 완전하게 전체 화면으로 진행되어 상호 작용은 모달보기가있는 지점에서만 발생했습니다. 이 문제를 해결하기 위해 무비 전체 화면으로 들어갈 때 모달 뷰 크기를 변경하고 무비 플레이어 알림을 사용하여 종료 전체 화면으로 변경했습니다. – Pete42

답변

1

어떻게 해결 했는가? 비디오가 전체 화면으로 전환 될 때 모달 뷰 컨트롤러의 크기를 변경했습니다.

- (무효) 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; 

}

- (무효) 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; 

}

관련 문제