iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – MpMovieplayerController轻触手势识别器在全屏时不会触发大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用UITapGestureRecognizer来处理全屏视频上的点击.如果我省略[self.player setFullscreen:YES animated:NO];它工作,但然后我的视频将无法缩放以适应屏幕.

从我的.m:

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSString *videoPath = [[NSBundle mainBundle] pathForresource:@"test" ofType:@"mov"];
    player =  [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:videoPath]];

    player.shouldAutoplay = NO;
    player.view.frame = self.view.bounds;
    player.scalingMode = MPMovieScalingModeAspectFit;
    player.controlStyle = MPMovieControlStyleNone;
    player.fullscreen = YES;
    self.player = player;
    [self.player prepareToPlay];

    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@SELEctor(handleTap:)];
    UIView *aView = [[UIView alloc] initWithFrame:player.view.bounds];
    [aView addGestureRecognizer:tapGesture];
    [self.player.view addSubview:aView];
}

- (IBACtion)playmovie:(id)sender {
    //add the MPMoviePlayerViewController to this view (as subview)
    //Play movie
    [self.view addSubview:self.player.view];
    [self.player setFullscreen:YES animated:NO]; //commenTing out this will make it work
    [self.player play];
}

- (void)handleTap:(UITapGestureRecognizer *)recognizer {
    NSLog(@"tap tap");
}@H_404_14@ 
 

从我的.h:

@property (retain,nonatomiC) MPMoviePlayerController *player;
- (void)handleTap:(UITapGestureRecognizer *)recognizer;@H_404_14@

解决方法

在我的评论中,我选择了如何在使用适当的全屏时([self.player setFullscreen:YES animated:NO];)进行覆盖.

我建议您只需调整播放器视图的大小,通过相应地设置其框架来覆盖整个屏幕.

你初始化代码必须摆脱那个player.fullscreen = YES;,但我猜现在很明显.

大佬总结

以上是大佬教程为你收集整理的ios – MpMovieplayerController轻触手势识别器在全屏时不会触发全部内容,希望文章能够帮你解决ios – MpMovieplayerController轻触手势识别器在全屏时不会触发所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。