1
오버레이보기를 맨 위에 추가하려는 무비 플레이어보기 컨트롤러가 있습니다.MPMoviePlauerViewController 상단의 오버레이 문제
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
[[moviePlayer view] addSubview:[self overlayControlsView]];
UIGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[[self view] addGestureRecognizer:tap];
}
return self;
}
overlayControlsView 현재 만 UILabel의이다 :
는 다음 코드를 사용했다.- (void)handleTap:(UITapGestureRecognizer *)sender {
NSLog(@"Tap handled");
if ([sender state] == UIGestureRecognizerStateEnded) {
if ([[self overlayControlsView] isHidden]) {
[[self overlayControlsView] setHidden:NO];
} else {
[[self overlayControlsView] setHidden:YES];
}
}
}
무비 플레이어가 방금 나타나면 오버플로 컨트롤을 표시하고 숨 깁니다.
그러나 moviewplayer로드 상태가 변경되고 재생되기 시작한 직후 (인터넷에서 비디오를로드하므로 여기에 약간의 시간 차이가 있음) handleTap 메서드가 더 이상 호출되지 않았습니다.
아무도 아이디어가 있습니까? 오버레이 컨트롤을 추가하는 더 좋은 방법이 있습니까?
내가 잘못 설명하면 죄송합니다. 하지만 내가하고 싶은 것은 플레이어를 두 드릴 때 오버레이보기를 표시하거나 숨기는 것입니다. 사용자 정의 오버레이보기로 기본 컨트롤을 생각하면 기본 컨트롤과 함께 페이드 인/아웃됩니다. 귀하의 버튼이 맨 위에 있고, 클릭하면 동영상이 재생/일시 중지됩니다. 이는 원하는 것이 아닙니다. – PeterWong
@PeterWong, 재생/일시 정지는 오버레이 컨트롤을 보여주는 예일 뿐이므로 오버레이보기/숨기기에도 동일하게 사용할 수 있다고 생각합니다. 또한 MPMoviePlayerController 뷰보다 UIGestureRecognizer를 사용하는 것과 동일한 문제가 있습니다.이 방법을 선택했습니다. . – illuminatus
그래서 전체 플레이어가 탭핑을 기다리는 중에 보이지 않는 버튼이 될까요? 멋지다. 내일 한번 해봐. – PeterWong