码迷,mamicode.com
首页 > 其他好文 > 详细

UIScrollView实现图片放大、缩小

时间:2014-12-11 01:36:07      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:uiscrollview实现图片放大缩小

UIScrollView实现图片放大、缩小


一、在storyboard中添加Scroll View或者用懒加载创建 UIScrollView

- (UIScrollView *)scrollView
{
   
if (_scrollView == nil) {
       
_scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
       
// 设置代理
       
_scrollView.delegate = self;
       
// 设置最大/最小缩放比例
       
_scrollView.maximumZoomScale = 2.0;
       
_scrollView.minimumZoomScale = 0.2;
       
        [
self.view addSubview:_scrollView];
    }
   
return _scrollView;
}
注意:
UIScrollView的frame大小和父窗口view的frame大小一致

二、把imageView懒加载添加到UIScrollView
- (UIImageView *)imageView
{
   
if (_imageView == nil) {
       
_imageView = [[UIImageView alloc] init];
       
        [
self.scrollView addSubview:_imageView];
    }
   
return _imageView;
}

三、设置图片
// 图像的setter
- (
void)setImage:(UIImage *)image
{
   
_image = image;
   
// 设置图像视图的内容
   
self.imageView.image = image;

   
// 让图像视图根据图像自动调整大小
    [
self.imageView sizeToFit];
   
   
// 告诉scrollView内部内容的实际大小
   
self.scrollView.contentSize = image.size;
}

注意:
设置图像视图根据图像自动调整大小,因为UIImageView的frame没有设置。
[
self.imageView sizeToFit];
告诉scrollView内部内容的实际大小
self.scrollView.contentSize = image.size;

self.scrollView和_scrollView的区别。

四、设置图像
- (void)viewDidLoad
{
    [
super viewDidLoad];

   
// 设置图像
   
self.image = [UIImage imageNamed:@"minion"];
}
五、实现UIScrollView的代理方法

#pragma mark - UIScrollView的代理方法
/**
 1>
设置了代理
 2>
指定了最大、最小的缩放比例
 
 
表示ScrollView是可以缩放的
 
 
代理方法的"返回值"实际上就是控制器告诉滚动视图,要缩放的是UIImageView
 */

// 告诉ScrollView要缩放的视图是谁,具体的缩放实现,是由ScrollView来完成的
// 1> scrollView要知道缩放谁
- (
UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
   
return self.imageView;
}

// 2> 滚动视图即将开始缩放,通常不需要写
- (
void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view
{
   
NSLog(@"%s", __func__);
}

// 3> 正在缩放,通常也不需要实现
- (
void)scrollViewDidZoom:(UIScrollView *)scrollView
{
   
//    NSLog(@"%s", __func__);
   
NSLog(@"%@", NSStringFromCGAffineTransform(self.imageView.transform));
}

// 4> 完成缩放,通常也不需要实现
- (
void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale
{
   
NSLog(@"%s", __func__);
}

UIScrollView实现图片放大、缩小

标签:uiscrollview实现图片放大缩小

原文地址:http://blog.csdn.net/itcontend/article/details/41858009

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!