DKPhotoPickerBrowserPhotoView.m 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //
  2. // ZLPhotoPickerBrowserPhotoView.m
  3. // ZLAssetsPickerDemo
  4. //
  5. //
  6. #import "DKPhotoPickerBrowserPhotoView.h"
  7. @implementation DKPhotoPickerBrowserPhotoView
  8. - (id)init {
  9. if ((self = [super init])) {
  10. self.userInteractionEnabled = YES;
  11. [self addGesture];
  12. }
  13. return self;
  14. }
  15. - (id)initWithFrame:(CGRect)frame {
  16. if ((self = [super initWithFrame:frame])) {
  17. self.userInteractionEnabled = YES;
  18. [self addGesture];
  19. }
  20. return self;
  21. }
  22. #pragma mark -监听手势
  23. - (void) addGesture{
  24. // 双击放大
  25. UITapGestureRecognizer *scaleBigTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];
  26. scaleBigTap.numberOfTapsRequired = 2;
  27. scaleBigTap.numberOfTouchesRequired = 1;
  28. [self addGestureRecognizer:scaleBigTap];
  29. // 单击缩小
  30. UITapGestureRecognizer *disMissTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
  31. disMissTap.numberOfTapsRequired = 1;
  32. disMissTap.numberOfTouchesRequired = 1;
  33. [self addGestureRecognizer:disMissTap];
  34. // 只能有一个手势存在
  35. [disMissTap requireGestureRecognizerToFail:scaleBigTap];
  36. }
  37. - (void)handleSingleTap:(UITouch *)touch {
  38. if ([_tapDelegate respondsToSelector:@selector(view:singleTapDetected:)])
  39. [_tapDelegate view:self singleTapDetected:touch];
  40. }
  41. - (void)handleDoubleTap:(UITouch *)touch {
  42. if ([_tapDelegate respondsToSelector:@selector(view:doubleTapDetected:)])
  43. [_tapDelegate view:self doubleTapDetected:touch];
  44. }
  45. @end