Brion VIBBER has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/88781


Change subject: Added double-tap image zoom & two finger tap zoom out.
......................................................................

Added double-tap image zoom & two finger tap zoom out.

Also removed an unused overlay.

Change-Id: I062484a348144b4295ff93c5a456d91d251057e3
---
M Commons-iOS/DetailScrollViewController.h
M Commons-iOS/DetailScrollViewController.m
M Commons-iOS/ImageScrollViewController.h
M Commons-iOS/ImageScrollViewController.m
M Commons-iOS/MyUploadsViewController.m
5 files changed, 27 insertions(+), 32 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/ios/commons 
refs/changes/81/88781/1

diff --git a/Commons-iOS/DetailScrollViewController.h 
b/Commons-iOS/DetailScrollViewController.h
index 0402d14..bb62569 100644
--- a/Commons-iOS/DetailScrollViewController.h
+++ b/Commons-iOS/DetailScrollViewController.h
@@ -18,7 +18,6 @@
     @property (nonatomic) float detailsScrollNormal;
     @property (weak, nonatomic) UINavigationItem *navigationItem;
     @property (weak, nonatomic) UIView *view;
-    -(void)clearOverlay;
 @end
 
 @interface DetailScrollViewController : UIViewController <UITextFieldDelegate, 
UITextViewDelegate, UIGestureRecognizerDelegate>
diff --git a/Commons-iOS/DetailScrollViewController.m 
b/Commons-iOS/DetailScrollViewController.m
index 60f3795..f71af9b 100644
--- a/Commons-iOS/DetailScrollViewController.m
+++ b/Commons-iOS/DetailScrollViewController.m
@@ -297,8 +297,6 @@
 
         // Move details to docking position at bottom of screen
         [self moveDetailsToDock];
-        
-        [self.delegate clearOverlay];
        }
 
     if(!self.selectedRecord.complete.boolValue){
diff --git a/Commons-iOS/ImageScrollViewController.h 
b/Commons-iOS/ImageScrollViewController.h
index a6746a3..7496f24 100644
--- a/Commons-iOS/ImageScrollViewController.h
+++ b/Commons-iOS/ImageScrollViewController.h
@@ -14,6 +14,6 @@
 @property (nonatomic, strong) UIImage *image;
 @property (nonatomic) float detailsScrollNormal;
 
--(void)clearOverlay;
+-(float)getScaleToMakeImageFullscreen;
 
 @end
diff --git a/Commons-iOS/ImageScrollViewController.m 
b/Commons-iOS/ImageScrollViewController.m
index 642cb5e..04cc5f2 100644
--- a/Commons-iOS/ImageScrollViewController.m
+++ b/Commons-iOS/ImageScrollViewController.m
@@ -103,8 +103,6 @@
     // Change back button to be an arrow
     self.navigationItem.leftBarButtonItem = [[CommonsApp singleton] 
getBackButtonItemWithTarget:self action:@selector(backButtonPressed:)];
 
-    [self setupOverlayView];
-    
     [self setupImageScrollingViews];
     
        // Don't make the view background clear or the space surrounding the 
image will
@@ -247,27 +245,6 @@
     
     overlayView_.backgroundColor = [UIColor colorWithWhite:0.0f 
alpha:overlayAlpha];
     */
-}
-
-#pragma mark - Overlay view
-
--(void)setupOverlayView
-{
-    overlayView_ = [[UIView alloc] initWithFrame:self.view.bounds];
-    overlayView_.translatesAutoresizingMaskIntoConstraints = NO;
-    overlayView_.userInteractionEnabled = NO;
-    overlayView_.backgroundColor = [UIColor clearColor];
-
-    [self.view addSubview:overlayView_];
-
-    NSDictionary *views = NSDictionaryOfVariableBindings(overlayView_);
-    [self.view addConstraints:[NSLayoutConstraint 
constraintsWithVisualFormat:@"H:|[overlayView_]|" options:0 metrics:0 
views:views]];
-    [self.view addConstraints:[NSLayoutConstraint 
constraintsWithVisualFormat:@"V:|[overlayView_]|" options:0 metrics:0 
views:views]];
-}
-
--(void)clearOverlay
-{
-       overlayView_.backgroundColor = [UIColor clearColor];
 }
 
 @end
diff --git a/Commons-iOS/MyUploadsViewController.m 
b/Commons-iOS/MyUploadsViewController.m
index 6f3ee1e..7b317b1 100644
--- a/Commons-iOS/MyUploadsViewController.m
+++ b/Commons-iOS/MyUploadsViewController.m
@@ -41,6 +41,7 @@
     DetailScrollViewController *detailVC_;
     UITapGestureRecognizer *imageTapRecognizer_;
     UITapGestureRecognizer *imageDoubleTapRecognizer_;
+    UITapGestureRecognizer *imageTwoFingerTapRecognizer_;
 }
 
 @end
@@ -810,9 +811,19 @@
         if (touch.view == self.choosePhotoButton) return NO;
     }
     
-       if ((gestureRecognizer == imageTapRecognizer_) || (gestureRecognizer == 
imageDoubleTapRecognizer_)) {
+       if (
+        (gestureRecognizer == imageTapRecognizer_)
+        ||
+        (gestureRecognizer == imageDoubleTapRecognizer_)
+        ||
+        (gestureRecognizer == imageTwoFingerTapRecognizer_)
+    ) {
                // Ignore touches which fall on the details table or its 
contents
-               if (!(imageScrollVC_.imageScrollView == touch.view || 
imageScrollVC_.imageView == touch.view)) return NO;
+               if (!(
+            imageScrollVC_.imageScrollView == touch.view
+            ||
+            imageScrollVC_.imageView == touch.view
+        )) return NO;
        }
        
     return YES;
@@ -1244,14 +1255,19 @@
     imageTapRecognizer_.cancelsTouchesInView = NO;
     imageTapRecognizer_.delegate = self;
 
+    imageTwoFingerTapRecognizer_ = [[UITapGestureRecognizer alloc] 
initWithTarget:self action:@selector(handleTwoFingerTap:)];
+    imageTwoFingerTapRecognizer_.numberOfTouchesRequired = 2;
+    imageTwoFingerTapRecognizer_.numberOfTapsRequired = 1;
+    [imageScrollVC_.view addGestureRecognizer:imageTwoFingerTapRecognizer_];
+    imageTwoFingerTapRecognizer_.cancelsTouchesInView = NO;
+    imageTwoFingerTapRecognizer_.delegate = self;
+
     imageDoubleTapRecognizer_ = [[UITapGestureRecognizer alloc] 
initWithTarget:self action:@selector(handleImageDoubleTap:)];
     imageDoubleTapRecognizer_.numberOfTouchesRequired = 1;
     imageDoubleTapRecognizer_.numberOfTapsRequired = 2;
     [imageScrollVC_.view addGestureRecognizer:imageDoubleTapRecognizer_];
     imageDoubleTapRecognizer_.cancelsTouchesInView = NO;
     imageDoubleTapRecognizer_.delegate = self;
-       
-    imageDoubleTapRecognizer_.enabled = NO;
 
     [imageTapRecognizer_ 
requireGestureRecognizerToFail:imageDoubleTapRecognizer_];
 
@@ -1277,7 +1293,12 @@
 
 -(void)handleImageDoubleTap:(UITapGestureRecognizer *)recognizer
 {
-       //NSLog(@"Add double-tap to zoom here");
+    [imageScrollVC_.imageScrollView 
setZoomScale:(imageScrollVC_.imageScrollView.zoomScale * 2.0f) animated:YES];
+}
+
+-(void)handleTwoFingerTap:(UITapGestureRecognizer *)recognizer
+{
+    [imageScrollVC_.imageScrollView setZoomScale:[imageScrollVC_ 
getScaleToMakeImageFullscreen] animated:YES];
 }
 
 @end

-- 
To view, visit https://gerrit.wikimedia.org/r/88781
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I062484a348144b4295ff93c5a456d91d251057e3
Gerrit-PatchSet: 1
Gerrit-Project: apps/ios/commons
Gerrit-Branch: master
Gerrit-Owner: Brion VIBBER <br...@wikimedia.org>
Gerrit-Reviewer: Mhurd <mh...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to