gpt4 book ai didi

ios - MPMoviePlayerController View 无法识别触摸

转载 作者:IT王子 更新时间:2023-10-29 08:01:51 24 4
gpt4 key购买 nike

这是我的代码:

_mediaPlayer = [[MPMoviePlayerController alloc] init];
_mediaPlayer.controlStyle = MPMovieControlStyleNone;
_mediaPlayer.shouldAutoplay = NO;
[_mediaPlayer.view setFrame: CGRectMake(5, 5, 600,400)];
[playerHolder addSubview: _mediaPlayer.view];
//
[self prepareScreenContentToPlay];
//
UITapGestureRecognizer *singleFingerTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleRollTap:)];
singleFingerTap.numberOfTapsRequired = 1;
[_mediaPlayer.view addGestureRecognizer:singleFingerTap];
[singleFingerTap release];

手势识别器的 Action 方法:

-(void)handleRollTap:(UITapGestureRecognizer*)sender{
NSLog(@"%@", @"touch");
}

MPMoviePlayerController 工作正常。此外,我想处理 MPMoviePlayerController View 上的触摸,但 handleRollTap 从未调用过。为什么 MPMoviePlayerController 的 View 不适用于 UITapGestureRecognizer?


好的。如果 singleFingerTap.numberOfTapsRequired = 2; 那么一切正常。但是单击什么都没有..


最佳答案

其实,这个问题的答案很简单:

  • 将自己设置为 UIGestureRecognizer 委托(delegate)
  • 对委托(delegate)方法返回 YES:

例如

UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture)];
tapGestureRecognizer.delegate = self;

以及代码中的其他地方:

#pragma mark - gesture delegate
// this allows you to dispatch touches
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
return YES;
}
// this enables you to handle multiple recognizers on single view
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}

关于ios - MPMoviePlayerController View 无法识别触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7487182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com