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];
}
}
}
當電影放映機剛剛顯示時,點擊它會導致overlayControlsView顯示並隱藏成功。
然而,在moviewplayer負載狀態改變並開始播放後(我從Internet上載入視頻,因此這裏有一些時間間隙),handleTap方法不再被調用。
有沒有人有任何想法呢?有沒有更好的方式來添加疊加控件?
對不起,可能是我描述錯了。但我想要做的是在點擊播放器時顯示/隱藏覆蓋視圖(想想默認控件,使用我的自定義覆蓋視圖,以便它們可以與默認控件一起淡入/淡出)。你的頂部有一個按鈕,點擊它可以播放/暫停視頻,這不是我想要的。 – PeterWong
@PeterWong,播放/暫停只是一個顯示覆蓋控制的例子,我認爲你可以使用相同的顯示/隱藏覆蓋視圖...我也有相同的問題,使用UIGestureRecognizer MPMoviePlayerController視圖..並選擇這種方式。 – illuminatus
因此,這將是一個無形的按鈕頂部的整個球員等待竊聽?這似乎很棒。明天將有一個嘗試。 – PeterWong