比较粗略的实现了,图片的放大缩小功能,第一重要的是,要把图片放在滑动视图上;第二重要的是,设置zoomScale,改变这个值,就改变了图片大小,但是放大后的坐标控制,我没有写,自己写吧(哈哈……..)
#pragma mark - 创建图片视图
- (void) createImageView {//1.设置图片大小覆盖滑动视图_imageView = [[UIImageView alloc] initWithFrame:CGRectMake(50, 100, 300, 200)];//2.添加图片_imageView.image = [UIImage imageNamed:@"img10"];//3.添加到滑动视图[_scrollView addSubview:_imageView];
}#pragma mark - 创建滑动视图
- (void) createView {//1.设置frame_scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];//2.设置用户交互_scrollView.userInteractionEnabled = YES;//3.设置代理_scrollView.delegate = self;//4.添加到视图[self.view addSubview:_scrollView];//5.设置图片的放大、缩小比例_scrollView.minimumZoomScale = 1.0;_scrollView.maximumZoomScale = 2.0;//6.添加手势的方法UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction:)];//a) 设置点击次数tap.numberOfTapsRequired = 2; //双击效果//b) 设置几根手指点击tap.numberOfTouchesRequired = 1;[_scrollView addGestureRecognizer:tap];}#pragma mark - 手势方法实现(双击图片放大,缩小)
- (void) tapAction:(UITapGestureRecognizer *) tap {//判断图片是否已经放大,如果放大了,点击则缩小,相反放大。if (_scrollView.zoomScale > 1.0) {//带动画效果[_scrollView setZoomScale:1.0 animated:YES];}else {[_scrollView setZoomScale:2.0 animated:YES];}
}#pragma mark - 代理方法实现
- (UIView *) viewForZoomingInScrollView:(UIScrollView *)scrollView {return _imageView;
}