2010-12-15 9 views
1

MPMoviePlayerViewController를 인스턴스화하고 함께 무비를로드합니다. 사용자가 플레이어의 아무 곳이나 터치 할 때 어떻게 감지 할 수 있습니까?MPMoviePlayerViewController에서 터치를 감지하는 방법

나는 오버레이를 추가했으며 그 것처럼 작동합니다. 하지만 문제는 플레이어 (볼륨, 일시 정지 등)에 대한 컨트롤이 없다는 것입니다. 이것을 표시 할 알림이 있습니까?

+0

가장 좋은 방법은 MoviePlayerController를 하위 클래스로 만드는 것이지만보기를 닫으려면 단일 탭을 처리해야하는 경우 f.e. 소개 비디오, 나는 간단한 해결책을했습니다 ... – bontoJR

+0

하지만 거기에 다른 방식으로해야합니다 하위 클래스 싶지 않아 ... 오버레이보기 및 내가 숨기려면/내가 그것을 살짝 보여줍니다. 영화 ...이 같은 시도했지만 행운을 빌어 요 .. UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget : 자기 행동 : @selector (movieTapped :)]; [player.moviePlayer.view addGestureRecognizer : tap]; – 1110

+0

질문이 업데이트되었습니다. 확인하십시오. – 1110

답변

1

동영상 플레이어의 부모 인보기에 제스처 인식기를 추가 할 수 있습니다.

제스처 인식기에 델리게이트를 추가하여 정확하게 무엇이 맞았는지 확인하고 미디어 플레이어가 아닌 경우 제스처 인식기 이벤트를 삭제할 수 있습니다. 또 다른 쉬운 옵션은 동영상 플레이어보기를 통해 큰 눈에 보이지 않는 버튼을 배치하는 것입니다

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { 
    UIView *treffer = [app.window hitTest:[touch locationInView:app.window] withEvent:nil]; 

    if (treffer == yourvideoplayerview) return YES; 
    return NO; 
} 
0

: 같은

코드를 볼 수 있었다.

0

두 명의 인식자가 싸울 수도 있습니다. 당신은 <UIGestureRecogniserDelegate>을 준수하면 상위 제어기로부터 인식기를 추가 제스처 인식기의 대리인으로 자신을 설정하고 구현할 수 있습니다

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer 
{ 
    return YES; 
} 

그래서 그들은 모두 즐겁게 연주 할 수 있습니다.

관련 문제