这对于当前可用的委托方法是不可能的,所以我在我的应用程序中制作了一个供我自己使用的方法,给你。
第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
来使用照片浏览器的对象调用它。
在第 2 步中,我们调用了我们将UIViewController
在我们展示的地方实现的委托MWPhotoBrowser
。
在第 3 步中,我们需要知道何时点击当前照片(这是由 Michael 完成的,谢谢!)。singleTapOnCurrentPhoto
因此,当用户单击当前照片时,我们会调用该函数。在这里,我们将调用 of 的usingsingleTapOnCurrentPhoto
对象_photoBrowser
MWPhotoBrowser
在步骤:4 我们完成了!现在我们可以使用那个委托了。所以我们在我们需要的地方实施。就这样!