美文网首页iOS开发知识小集
iOS 手势放大缩小 算法

iOS 手势放大缩小 算法

作者: 不知蜕变的挣扎 | 来源:发表于2017-11-01 17:33 被阅读163次

    1.声明变量

    CGFloat deviceZoom;
    CGFloat lastZoome;
    

    2.在视图上 添加缩放手势

    UIPinchGestureRecognizer *pinchGestureRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handlePinch:)];
        
    [self.videoView addGestureRecognizer:pinchGestureRecognizer];
    

    3.实现方法

    - (void) handlePinch:(UIPinchGestureRecognizer*) recognizer {
    
         CGFloat zoomSize = recognizer.scale;
         if ( zoomSize > 1 ) { // 放大
            if (zoomSize > lastZoome) {
                deviceZoom = zoomSize - lastZoome + deviceZoom;
                if (deviceZoom >5) {
                    deviceZoom = 5;
                }
            }
        } else { // 缩小
            if (zoomSize < lastZoome) {
                deviceZoom = deviceZoom - (1 - zoomSize);
                if (deviceZoom < 1) {
                    deviceZoom = 1;
                }
            }
        }
       lastZoome = zoomSize;
    }
    

    deviceZoom 就是最后得到的比例

    相关文章

      网友评论

        本文标题:iOS 手势放大缩小 算法

        本文链接:https://www.haomeiwen.com/subject/tgpgpxtx.html