在MWPhotoBrowser中添加一个播放按钮用于视频播放



我使用的是MWPhotoBrowser,其中照片和视频在gridview中显示为拇指。并显示全尺寸图像。

我在

中应用了视频播放代码

- (void)photoBrowser:(MWPhotoBrowser *)photoBrowser didDisplayPhotoAtIndex:(NSUInteger)index

方法播放视频。其中MPMoviePlayerViewController用于播放视频。当视频图像显示时,将直接播放视频

我想应用视频播放按钮,通过用户交互来播放视频。如果有任何可能的方法,请建议。

这在当前可用的委托方法中是不可能的,所以我在我的应用程序中做了一个自己使用的方法,给你。

步骤1:

查找这个文件,MWPhotoBrowser.h

在委托声明下,即在此@protocol MWPhotoBrowserDelegate <NSObject>

添加一个委托,- (void)photoBrowser:(MWPhotoBrowser *)photoBrowser didSelectedPhotoAtIndex:(NSUInteger)selectedPhotoIndex;我使它成为可选的。

同时也声明这个函数,- (void) singleTapOnCurrentPhoto;

步骤2:

现在打开MWPhotoBrowser.m,像这样定义- (void) singleTapOnCurrentPhoto

- (void) singleTapOnCurrentPhoto {
    if(self.delegate && [self.delegate respondsToSelector:@selector(photoBrowser:didSelectedPhotoAtIndex:)]) {
        [self.delegate photoBrowser:self didSelectedPhotoAtIndex:self.currentIndex];
    }
}

步骤3:

现在查找这个文件,MWZoomingScrollView.m

查找此方法,- (void)handleSingleTap:(CGPoint)touchPoint;

像这样更新

- (void)handleSingleTap:(CGPoint)touchPoint {
    [_photoBrowser performSelector:@selector(singleTapOnCurrentPhoto)];
    [_photoBrowser performSelector:@selector(toggleControls) withObject:nil afterDelay:0.2];
}

步骤4:

你完成!你可以像这样在UIViewController类中使用它

- (void)photoBrowser:(MWPhotoBrowser *)photoBrowser didSelectedPhotoAtIndex:(NSUInteger)selectedPhotoIndex {
    NSLog(@"Photo tapped at index %lu",(unsigned long)selectedPhotoIndex);
}

每个步骤的理解:

  • 在步骤:1中,我们声明了我们自己的委托方法与MWPhotoBrowser一起工作,一旦我们创建,我们必须在某些地方使用它,所以我们也声明了一个名为singleTapOnCurrentPhoto的方法来调用它与photo browser的对象。

  • 在步骤:2中,我们调用委托,我们将实现到我们的UIViewController,我们显示MWPhotoBrowser

  • 在步骤:3我们需要知道,当当前的照片将被点击(这是由Michael完成的,谢谢!)。当用户点击当前照片时,我们调用singleTapOnCurrentPhoto函数。这里,我们将使用MWPhotoBrowser

  • _photoBrowser对象来调用singleTapOnCurrentPhoto
  • 第4步我们完成了!现在我们可以使用那个委托。我们在需要它的地方实现到类中。这是所有!

最新更新