iOS应用开发中使用UIScrollView控件来实现图片缩放

2020-01-14 17:31:27王振洲

当用户在UIScrollView身上使用捏合手势时,UIScrollView会调用代理的viewForZoomingInScrollView:方法,这个方法返回的控件就是需要进行缩放的控件。

3.实现缩放功能

复制代码
#import "YYViewController.h"

 

@interface YYViewController () <UIScrollViewDelegate>
{
    UIScrollView *_scrollview;
    UIImageView *_imageview;
}
@end


复制代码
@implementation YYViewController

 

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    //1添加 UIScrollView
    //设置 UIScrollView的位置与屏幕大小相同
    _scrollview=[[UIScrollView alloc]initWithFrame:self.view.bounds];
    [self.view addSubview:_scrollview];
    
    //2添加图片
    //有两种方式
    //(1)一般方式
//    UIImageView  *imageview=[[UIImageView alloc]init];
//    UIImage *image=[UIImage imageNamed:@"minion"];
//    imageview.image=image;
//    imageview.frame=CGRectMake(0, 0, image.size.width, image.size.height);
    
    //(2)使用构造方法
    UIImage *image=[UIImage imageNamed:@"minion"];
    _imageview=[[UIImageView alloc]initWithImage:image];
    //调用initWithImage:方法,它创建出来的imageview的宽高和图片的宽高一样
    [_scrollview addSubview:_imageview];
    
    //设置UIScrollView的滚动范围和图片的真实尺寸一致
    _scrollview.contentSize=image.size;
    
    
    //设置实现缩放
    //设置代理scrollview的代理对象
    _scrollview.delegate=self;
    //设置最大伸缩比例
    _scrollview.maximumZoomScale=2.0;
    //设置最小伸缩比例
    _scrollview.minimumZoomScale=0.5;