2012-09-26 23 views
12

Để phát video trong ứng dụng của tôi, tôi đặt MPMoviePlayerController và thêm nó vào chế độ xem phụ. Người dùng có thể thay đổi chế độ toàn màn hình bằng cử chỉ chụm.Nhập toàn bộ màn hình trong MPMoviePlayerĐiều khiển cuộc gọi của bộ điều khiểnWillDisappear and viewDidDisappear

Trong này viewController (có chứa Trình xem phim), tôi đặt viewWillDisappear để đặt đối tượng thành không.

Nhưng, trong iOS 6, khi kích hoạt chế độ toàn màn hình, MPMoviePlayerController trong trình điều khiển chế độ xem có Chế độ xem trình phát phim gọi phương thức viewWillDisappearviewDidDisappear.

Trong iOS5, các phương pháp đó không được gọi.

+0

Nhìn vào giải pháp này và xem liệu giải pháp có hoạt động cho vấn đề của bạn hay không. http://stackoverflow.com/a/15440274/1437106 – Husky

Trả lời

16

Tôi đã xem qua vấn đề này như là tốt và nó gây cho tôi rất nhiều đau đầu. Giải pháp tạm thời của tôi cho đến khi lỗi được khắc phục là kiểm tra giá trị Boolean fullscreen của người chơi trong số viewWillDisappear: và/hoặc viewDidDisappear:. Nếu nó trả về YES, phim đang chuyển sang chế độ toàn màn hình và bạn nên tránh làm bất cứ điều gì có thể làm gián đoạn nó.

+1

Phương thức viewWillDisappear cũng đang được gọi cho tất cả các trình giám sát. Nếu bạn có một bộ điều khiển chính để sinh ra một bộ điều khiển khác có chứa MPMoviePlayerController, khi viewWillDisappear được gọi, nó đi tất cả các con đường lên chuỗi. Có cách nào khác để làm gián đoạn chuỗi không? –

+0

Tôi đoán bạn có thể thử bỏ qua cuộc gọi đến '[super viewWillDisappear:]' dựa trên liệu giá trị 'toàn màn hình 'là đúng hay sai. Nhưng dựa trên mã của bạn có thể gây ra nhiều vấn đề hơn là sửa lỗi. – Anthony

0

Tôi không chắc chắn này là một câu hỏi nhưng trong trường hợp ai đó có một vấn đề với các vấn đề được nêu ở đây, có nghĩa là, một người nào đó sử dụng một viewController (chứa Movie Player View), tôi thấy các giải pháp:

Tôi đã sử dụng một bộ điều khiển xem với Bộ điều khiển Trình phát Phim và sau đó trình bày bộ điều khiển xem này dưới dạng một chế độ xem phụ. Tôi chỉ cần loại bỏ nó và sử dụng MoviePlayer.view như một subview trực tiếp và nó hoạt động tốt.

Không phải là vấn đề với iOS 5, nhưng hiện tại. Sửa chữa nó và tận hưởng!

Các vấn đề liên quan