iOS - 使用UIScrollView实现图片缩放

原理:在ScrollView上面使用捏合手势时,ScrollView会给代理发送一条消息,询问要缩放的是哪个控件,即
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
代理方法,我们在这个代理方法里面返回要缩放的视图即可

@interface ViewController ()<UIScrollViewDelegate>//签代理
{
    UIScrollView *scrolleView;
    UIImageView *imgV;
}

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    //初始化滚动视图
    scrolleView = [[UIScrollView alloc]initWithFrame:self.view.bounds];
    [self.view addSubview:scrolleView];

    //初始化imageview,设置图片
    imgV = [[UIImageView alloc]init];
    imgV.image = [UIImage imageNamed:@"高圆圆"];
    imgV.frame = CGRectMake(0, 0, imgV.image.size.width, imgV.image.size.height);
    [scrolleView addSubview:imgV];

    //设置代理,设置最大缩放和虽小缩放
    scrolleView.delegate = self;
    scrolleView.maximumZoomScale = 5;
    scrolleView.minimumZoomScale = 1;

    //设置UIScrollView的滚动范围和图片的真实尺寸一致
    scrolleView.contentSize = imgV.image.size;

}
//代理方法,告诉ScrollView要缩放的是哪个视图
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    return imgV;
}

效果:

原图片.png
放大.png
缩小.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 废话不多说,直接上干货 ---------------------------------------------...
    小小赵纸农阅读 3,465评论 0 15
  • 掌握 UIScrollView的常见属性 UIScrollView的常用代理方法 UIScrollView的缩放 ...
    JonesCxy阅读 2,773评论 1 12
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • 国庆节来到啦,不知不觉画水彩已经足足有3个月啦,但是依然没什么长进,感觉越画越没有感觉了。所以最近我只看书加...
    夏那阅读 148评论 2 5
  • 下面,我简单说说自己的领悟,供想迈入餐饮行业的朋友参考参考。 开餐厅时所有该遇到的问题都遇到了,整个餐厅从设计到实...
    八月妈阅读 303评论 0 3