#import "ViewController.h"
#import "PhotoScrollView.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//创建滑动视图
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 20, 395, 667)];
scrollView.backgroundColor = [UIColor blackColor];
//分页
scrollView.pagingEnabled = YES;
scrollView.delegate = self;
[self.view addSubview:scrollView];
[scrollView release];
// 设置内容尺寸
scrollView.contentSize = CGSizeMake(395*5, 667);
//添加图片
for (int i = 0; i <5; i++) {
PhotoScrollView *photoScrollView = [[PhotoScrollView alloc] initWithFrame:CGRectMake(395*i, 0, 375, 667)];
photoScrollView.tag = 100 + i;
NSString *name = [NSString stringWithFormat:@"%d.JPG",i];
photoScrollView.img = [UIImage imageNamed:name];
[scrollView addSubview:photoScrollView];
[photoScrollView release];
}
}
//代理方法
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
// 当前页数
NSInteger currentpage = scrollView.contentOffset.x/395;
if (currentpage != _index) {
// 取得视图的tag值
NSInteger tagIndex = currentpage + 100;
PhotoScrollView *pScrollView = (PhotoScrollView *)[scrollView viewWithTag:tagIndex];
// 还原
[pScrollView setZoomScale:1];
}
// 记录下当前的页数
_index = currentpage;
}
#import "PhotoScrollView.h"
@implementation PhotoScrollView
- (instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
_imgView = [[UIImageView alloc] initWithFrame:self.bounds];
// 设置最值
self.maximumZoomScale = 2;
self.minimumZoomScale = .5;
// 隐藏滚动条
self.showsHorizontalScrollIndicator = NO;
self.showsVerticalScrollIndicator = NO;
// 设置代理
self.delegate = self;
[self addSubview:_imgView];
}
return self;
}
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
return _imgView;
}
- (void)setImg:(UIImage *)img{
if (_img != img) {
[_img release];
_img = [img retain];
}
// 给数据
_imgView.image = _img;
}