2012-12-17 6 views
3

MPMoviePlayerController 작동하지, 처음 비디오는 영화를 표시 MPMoviePlayerController 임베디드 컨트롤에 전체 화면 버튼을 .Pressing 특정 프레임에서 자신의 서브 뷰에 MPMoviePlayerController을 추가하여 시작 전체 화면으로 다시 버튼을 누르면 iOS 5의 초기 프레임으로 돌아갑니다.하지만 iOS 6에서는 전체 화면 버튼을 눌러 비디오를 초기 프레임으로 가져 오면 비디오가 화면에서 사라집니다. 애플이이 이상한 행동을 일으키는 MPMoviePlayer 클래스에 대해 문서화되지 않은 변경을 한 것처럼 보입니다. 이 문제를 해결 한 사람이 있습니까?MPMoviePlayerController는 아이폰 OS에서 iOS 5와 아이 패드에서 제대로 작동 6

나는이 문제를 스스로 해결 한
+0

나는 또한 이것을 경험하고있다. 뒷부분에 무슨 고통이 있었는지, 잠시 시간을내어 내 앱으로 알아 냈습니다. – bandejapaisa

답변

4

는, 아이폰 OS 6, 사과 전체 화면 버튼을 눌러 MPMoviePLayerController 클래스, 일부 문서화되지 않은 변경했습니다의 viewWillDisappearviewDidDisAppearMPMoviePLayerController를 시작 컨트롤러와 ParentController 모두 호출됩니다.

내 프로젝트 (pdf 판독기)에는 뷰 컨트롤러에 판독기를 추가 한 다음 리더 페이지에 readerPageContents 버튼 (이미지 갤러리, 비디오, 링크)을 추가 한 다음 비디오에서 비디오를 재생하는 매우 복잡한 뷰 계층 구조가 있습니다. 전체 화면으로 비디오를 시작할 때 ViewWillDisappear 및 ViewDidDisappear을 호출하고 비디오를 초기 프레임으로 가져 오도록 토글 화면 버튼을 누르면 두 컨트롤러의 ViewWillAppearViewDidAppear이 다시 호출되어서 pdf 비디오를 제거하고 있던 부모의 컨트롤러 viewDidAppear에서 다시 페이지를 봅니다.

BOOL을 설정하여 ViewDidDisappearViewWillDisappear이 호출되는 것을 피하는 것이 더 쉽습니다.

+0

이 솔루션은 저에게도 효과적입니다. 기술적으로 iOS 6 MPMoviePlayerController의 동작은 이전 iOS 버전의 버그를 수정하는 것처럼 들리지만, 실제로 이러한 뷰는 사라집니다. – bandejapaisa

+0

실제로 iOS 5와 iOS 6에서는 제 앱이 잘 돌아갑니다. 그러나 iOS 6 SDK에 맞춰 다시 컴파일하면 문제가 발생합니다. 따라서이 MPMoviePlayerController는 Apple에 의해 바뀌며, 기존의 애플 리케이션과 역 호환이 가능하지만 재 컴파일 된 애플 리케이션과는 호환되지 않습니다. 매우 영리한. – bandejapaisa

관련 문제