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