thiagoperes / IDMPhotoBrowser

Photo Browser / Viewer inspired by Facebook's and Tweetbot's with ARC support, swipe-to-dismiss, image progress and more
MIT License
2.71k stars 641 forks source link

self.zoomScale == self.maximumDoubleTapZoomScale, this case never happens #312

Open kieuquangloc opened 5 years ago

kieuquangloc commented 5 years ago

Hi @thiagoperes , when I use IDMPhotoBrowser a high quality image, I get a problem with double tap to zoom out and zoom in, please help!

Example image url: https://m.media-amazon.com/images/G/01/Shopbop/p/prod/products/tspor/tspor301691075a/tspor301691075a_q6_2-0.jpg

- (void)handleDoubleTap:(CGPoint)touchPoint {

    // Cancel any single tap handling
    [NSObject cancelPreviousPerformRequestsWithTarget:_photoBrowser];

    // Zoom
    if (self.zoomScale == self.maximumDoubleTapZoomScale) {

        // Zoom out
        [self setZoomScale:self.minimumZoomScale animated:YES];

    } else {

        // Zoom in
        CGSize targetSize = CGSizeMake(self.frame.size.width / self.maximumDoubleTapZoomScale, self.frame.size.height / self.maximumDoubleTapZoomScale);
        CGPoint targetPoint = CGPointMake(touchPoint.x - targetSize.width / 2, touchPoint.y - targetSize.height / 2);

        [self zoomToRect:CGRectMake(targetPoint.x, targetPoint.y, targetSize.width, targetSize.height) animated:YES];

    }

    // Delay controls
    [_photoBrowser hideControlsAfterDelay];
}