2010-07-24 22 views
7

Tôi đang tạo thêm iPad và tôi đang sử dụng MPMoviePlayerViewController để phát lại video.iPad SDK: Cách móc vào nút thực hiện của MPMoviePlayerViewController?

Video đang chiếm toàn bộ màn hình iPad như thế này.

playerViewController.view.frame = self.view.frame; 

Tôi cần một cách để người dùng có thể nhấn nút để chuyển sang màn hình khác.

Tôi nhận thấy rằng nút thực hiện tự động xuất hiện trong bộ điều khiển điều hướng khi tôi tạo một MPMoviePlayerViewController.

Câu hỏi của tôi:

a.) Có cách nào để móc vào nút đã hoàn tất hiện tại không? Về cơ bản tôi chỉ muốn loại bỏ bộ điều khiển xem.

b.) Nếu điều đó không hiệu quả. Làm thế nào tôi có thể thêm nút tùy chỉnh của riêng tôi? Như tôi đã đề cập ở trên, MPMoviePlayerViewController chiếm toàn bộ màn hình. Một ý tưởng tôi có là tạo ra MPMoviePlayerViewController trong một khung và để lại một chút không gian dọc để tôi có thể thêm thanh công cụ của riêng mình.

Tôi muốn các đề xuất về cách triển khai.)?

Nếu không thể, có thể một số gợi ý về cách loại bỏ MPMoviePlayerViewController bằng cách nhấn một số nút?

Tất cả trợ giúp đều được đánh giá cao.

+0

Vui lòng kiểm tra phản ứng của tôi ở đây: http://stackoverflow.com/a/29516352/1728118 –

Trả lời

10

Từ các tài liệu:

nút Done gây phát lại phim để tạm dừng trong khi quá trình chuyển đổi người chơi ra khỏi chế độ toàn màn hình. Nếu bạn muốn phát hiện kịch bản này trong mã của mình, bạn nên theo dõi các thông báo khác như MPMoviePlayerDidExitFullscreenNotification.

Vì vậy, hãy thử quan sát được thông báo này:

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(moviePlayerDidExitFullscreen:) 
              name:MPMoviePlayerDidExitFullscreenNotification 
              object:nil]; 

Và sau:

- (void)moviePlayerDidExitFullscreen:(NSNotification *)theNotification { 
    // do whatever you need to... 
} 

Edit: Tôi nghĩ rằng tôi không nhận định câu hỏi của bạn. Những gì bạn muốn là phương pháp
-dismissMoviePlayerViewControllerAnimated

Tôi giả sử bạn đang trình bày nó bằng cách sử dụng -presentMoviePlayerViewControllerAnimated:? Bạn có thể thêm một nút bằng cách sử dụng moviePlayer.navigationItem.rightBarButtonItem (hoặc trái hoặc bất kỳ tùy chọn nào). Đặt mục tiêu của nút này thành bộ điều khiển chế độ xem của bạn và chặn hành động đó để gọi -dismiss...

+0

Tôi thực sự chỉ cần một cách để cho phép người dùng đóng ViewController.Trong thực tế, tôi chỉ muốn: [tự bỏ quaModalViewControllerĐược điều chỉnh: CÓ]; Tôi đã thử đăng ký MPMoviePlayerDidExitFullscreenNotification hoạt động tốt nhưng không có hiệu quả mong muốn. Ý tưởng? – butchcowboy

+0

Tôi đã thử thêm một nút và sau đó gán cho mp.navigationitem.rightBarButtonItem nhưng nó không hiển thị. Có ai có một ví dụ về điều này làm việc? – butchcowboy

+0

Bất cứ ai tìm thấy một giải pháp cho điều này? Được googling ở khắp mọi nơi ... Làm thế nào tôi có thể lắng nghe các phương thức xem được bác bỏ aprt từ mở rộng bộ điều khiển và trọng các phương pháp dissmiss? – user281300

8

Xin chào nó có thể được thực hiện bằng những gì jbandes nói

[[NSNotificationCenter defaultCenter] addObserver:self selector: @selector(playbackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:theMoviePlayer.moviePlayer]; 
+0

cũng được gọi khi phim kết thúc phát mà không cần nhấn nút Xong –

+0

@ Max Người dùng MacLeod presentMoviePlayerViewControllerAnimated thì MPMoviePlayerDidExitFullscreenNotification sẽ được nâng lên. –

+0

Tuyệt vời! Điều đó cũng hoạt động trên 'MPMoviePlayerViewController' khi nhấn nút xong. 'MPMoviePlayerWillExitFullscreenNotification' không kích hoạt ở đó. –

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