标签:
//
// YJViewController.m
// 07-scrollView-查看大图
//
// Created by JACKY-MAC on 15-6-17.
// Copyright (c) 2015年 www.train.com. All rights reserved.
//
#import "YJViewController.h"
@interface YJViewController ()<UIScrollViewDelegate>
@property (strong, nonatomic) IBOutlet UIScrollView *scrollView;
@property(nonatomic,strong)UIImageView *imageView;
// 假设图像是从网络上获取的
@property(nonatomic,strong)UIImage *image;
@end
@implementation YJViewController
// 图像的setter
- (void)setImage:(UIImage *)image
{
_image = image;
// 设置图像视图的内容
self.imageView.image = image;
// 让图像视图根据图像自动调整大小
[self.imageView sizeToFit];
// 告诉scrollView内部内容的实际大小
self.scrollView.contentSize = image.size;
}
- (UIImageView *)imageView
{
if (_imageView ==nil) {
_imageView = [[UIImageView alloc] init];
[self.scrollView addSubview:_imageView];
}
return _imageView;
}
- (UIScrollView *)scrollView
{
if (_scrollView == nil) {
_scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
// 设置属性
// 设置边距
self.scrollView.contentInset = UIEdgeInsetsMake(20, 20, 20, 20);
// 不显示水平滚动标示
self.scrollView.showsHorizontalScrollIndicator = NO;
// 不显示垂直滚动标示
self.scrollView.showsVerticalScrollIndicator = NO;
// *** 偏移位置
self.scrollView.contentOffset = CGPointMake(0, - 100);
// 取消弹簧效果,内容固定,不希望出现弹簧效果时
// 不要跟bounds属性搞混了
self.scrollView.bounces = NO;
// 设置代理
_scrollView.delegate = self;
// 设置最大/最小缩放比例
_scrollView.maximumZoomScale = 2.0;
_scrollView.minimumZoomScale = 0.2;
[self.view addSubview:_scrollView];
}
return _scrollView;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// 设置图像
self.image = [UIImage imageNamed:@"minion"];
}
#pragma mark - UIScrollView的代理方法
/**
1> 设置了代理
2> 指定了最大、最小的缩放比例
表示ScrollView是可以缩放的
代理方法的"返回值"实际上就是控制器告诉滚动视图,要缩放的是UIImageView
*/
// 告诉ScrollView要缩放的视图是谁,具体的缩放实现,是由ScrollView来完成的
// 1> scrollView要知道缩放谁
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return self.imageView;
}
@end
标签:
原文地址:http://www.cnblogs.com/yejian/p/4765804.html