2018.06.01
UICollectionViewCell中添加UIScrollView,使用UIImageView來縮放圖片
- 設(shè)置scrollView,maximumZoomScale,minimumZoomScale,delegate
self.scrollView.userInteractionEnabled = YES;
self.scrollView.scrollEnabled = YES;
self.scrollView.bounces = YES;
self.scrollView.maximumZoomScale = 3.0f;
self.scrollView.minimumZoomScale = 1.0f;
self.scrollView.delegate = self;
self.scrollView.clipsToBounds = YES;
- cell在willDisplay的時(shí)候,要恢復(fù)縮放狀態(tài)
[self.scrollView setZoomScale:self.scrollView.minimumZoomScale animated:NO];
- 雙擊圖片放大
- (void)onDoubleTappedGestureRecognizer:(UITapGestureRecognizer *)recognizer {
if (self.scrollView.zoomScale > self.scrollView.minimumZoomScale) {
// 已經(jīng)放大 現(xiàn)在縮小
[self.scrollView setZoomScale:self.scrollView.minimumZoomScale animated:YES];
}
else {
[self.scrollView setZoomScale:self.scrollView.maximumZoomScale animated:YES];
}
}
- UIScrollViewDelegate,選中要縮放的UIImageView
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return self.imageView;
}
- UISCrollViewDelegate,縮放時(shí)保持圖片居中
- (void)scrollViewDidZoom:(UIScrollView *)scrollView
{
CGFloat scrollW = CGRectGetWidth(scrollView.frame);
CGFloat scrollH = CGRectGetHeight(scrollView.frame);
CGSize contentSize = scrollView.contentSize;
CGFloat offsetX = scrollW > contentSize.width ? (scrollW - contentSize.width) * 0.5 : 0;
CGFloat offsetY = scrollH > contentSize.height ? (scrollH - contentSize.height) * 0.5 : 0;
CGFloat centerX = contentSize.width * 0.5 + offsetX;
CGFloat centerY = contentSize.height * 0.5 + offsetY;
self.imageView.center = CGPointMake(centerX, centerY);
}