iOS点击图片查看大图,自由缩放功能的实现

在我们开发项目中,经常会遇到点击图片查看图片大图,而且可以自由缩放的功能,今天就讲一讲它的实现方法

- (void)viewDidLoad {

    [super viewDidLoad];


    [selfsetUp];

    [selfloadData];

    // Do any additional setup after loading the view.

}

-(void)setUp{

_scrollView = [[UIScrollView alloc] init];

    [_scrollView setTranslatesAutoresizingMaskIntoConstraints:NO];

    _scrollView.backgroundColor = [UIColor blackColor];

    _scrollView.maximumZoomScale = 5;

    _scrollView.delegate = self;

    [self.view addSubview:_scrollView];


    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[scrollView]-0-|" options:kNilOptions metrics:nil views:@{@"scrollView":_scrollView}]];

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[scrollView]-0-|" options:kNilOptions metrics:nil views:@{@"scrollView":_scrollView}]];

    _imageView= [[UIImageViewalloc]init];

    [_imageView setTranslatesAutoresizingMaskIntoConstraints:NO];

    _imageView.contentMode = UIViewContentModeScaleAspectFit;//缩放显示

    _imageView.userInteractionEnabled = YES;

    [_scrollView addSubview:_imageView];


    [_scrollView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[imageView(scrollView)]-0-|" options:kNilOptions metrics:nil views:@{@"imageView":_imageView,@"scrollView":_scrollView}]];


    [_scrollView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[imageView(scrollView)]-0-|" options:kNilOptions metrics:nil views:@{@"imageView":_imageView,@"scrollView":_scrollView}]];

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismiss)];

    [_imageView addGestureRecognizer:tap];


-(void)loadData{

    if(_image){

        _imageView.image = _image;

    }


    if(_imageUrl.length>0){

        [_imageView setImageWithURL:[NSURL URLWithString:_imageUrl]];

    }

}

-(void)dismiss{

    [self dismissViewControllerAnimated:YES completion:nil];

}

#pragma mark - UIScrollViewDelegate

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{

    return _imageView;

}

是不是一目了然。简单粗暴,每天更新一个iOS小功能,喜欢的记得点赞加关注哦

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

推荐阅读更多精彩内容

  • 9月2日是互加计划美丽村校开学第一天,当我得知有开盛大的开学典礼时,就和校长宋老师,姜老师谋划起来。 人们常说:生...
    吉林龙潭陈鑫阅读 88评论 0 0
  • 玩上就摸索手机,打开QQ点开直播下了NOW,发现还有46个粉丝,2关注,我也不知道哪里来的。下拉点开位置,刷附...
    张不凡的自我提升之路阅读 106评论 0 1
  • 是很多很多
    super文文阅读 169评论 0 0