iOS 限制圖片的縮放比例 設置捏合手勢的縮放比例


捏合手勢目測可以無限放大圖片,但是一般情況下,我們只允許用戶在一定的比例范圍內進行縮放

方案:用一個全局的值記錄總的縮放比例,當超出范圍后就不允許繼續超范圍,只能回到縮放范圍

如果嫌麻煩這里打包好的分類,三行代碼搞定:https://github.com/iOSSinger/SGZoomImage

具體代碼如下:

#import "ViewController.h"

#define MaxSCale 2.0  //最大縮放比例
#define MinScale 0.5  //最小縮放比例

#import "UIImageView+Zoom.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@property (nonatomic,assign) CGFloat totalScale;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.totalScale = 1.0;
    
    UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinch:)];
    [self.imageView addGestureRecognizer:pinch];
    
}

- (void)pinch:(UIPinchGestureRecognizer *)recognizer{

    CGFloat scale = recognizer.scale;
    
    //放大情況
    if(scale > 1.0){
        if(self.totalScale > MaxSCale) return;
    }
    
    //縮小情況
    if (scale < 1.0) {
        if (self.totalScale < MinScale) return;
    }

    self.imageView.transform = CGAffineTransformScale(self.imageView.transform, scale, scale);
    self.totalScale *=scale;
    recognizer.scale = 1.0;
   
}

@end

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM