//
// ViewController.m
// UIScrollView循环播放效果
//
// Created by 肖鹏 on 16/7/27.
// Copyright © 2016年 xiaopeng. All rights reserved.
//
#import "ViewController.h"
int NumbersOfPictures = 9;
@interface ViewController (){
UIImageView *_leftImageView;
UIImageView *_currentImageView;
UIImageView *_rightImageView;
//_currentIndex用来标识Image显示的位置
NSInteger _currentIndex;
UIScrollView *_scrollView;
NSMutableArray *_imageNameList;
double VIEW_WIDTH;
double VIEW_HEIGHT;
}
//初始化数据源
-(void)initializeDataSource;
//初始化用户界面
-(void)initializeUserInterface;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self initializeDataSource];
[self initializeUserInterface];
}
//初始化数据源
-(void)initializeDataSource{
_currentIndex = 0;
_imageNameList = [[NSMutableArray alloc]init];
for(int i=0;i<NumbersOfPictures;i++){
NSString *imageName = [NSString stringWithFormat:@"%d.jpg",i];
[_imageNameList addObject:imageName];
}
//初始化宽和高
VIEW_WIDTH = CGRectGetWidth(self.view.bounds);
VIEW_HEIGHT = CGRectGetHeight(self.view.bounds);
}
//从0开始索引
//初始化图片
-(void)initImages{
NSLog(@"初始化三张图片%ld",_currentIndex);
_leftImageView.image = [UIImage imageNamed:_imageNameList[(_currentIndex-1+NumbersOfPictures)%NumbersOfPictures]];
_currentImageView.image = [UIImage imageNamed:_imageNameList[_currentIndex]];
_rightImageView.image = [UIImage imageNamed:_imageNameList[(_currentIndex+1)%NumbersOfPictures]];
}
//初始化用户界面
-(void)initializeUserInterface{
//初始化_scrollView
_scrollView = [[UIScrollView alloc]init];
[_scrollView setBounds:self.view.bounds];
[_scrollView setCenter:self.view.center];
_scrollView.pagingEnabled = YES;
[_scrollView setDelegate:self];
[_scrollView setBounces:NO];
[_scrollView setContentSize:CGSizeMake(3*VIEW_WIDTH,VIEW_HEIGHT)];
[_scrollView setContentOffset:CGPointMake(VIEW_WIDTH, 0)];
[self.view addSubview:_scrollView];
//初始化三张ImageView的位置
_leftImageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, VIEW_WIDTH, VIEW_HEIGHT)];
_currentImageView = [[UIImageView alloc]initWithFrame:CGRectMake(VIEW_WIDTH, 0, VIEW_WIDTH, VIEW_HEIGHT)];
_rightImageView = [[UIImageView alloc]initWithFrame:CGRectMake(2*VIEW_WIDTH, 0, VIEW_WIDTH, VIEW_HEIGHT)];
//初始化图片数据
[self initImages];
[_scrollView addSubview:_leftImageView];
[_scrollView addSubview:_currentImageView];
[_scrollView addSubview:_rightImageView];
}
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
CGPoint contentOffset = [_scrollView contentOffset];
if(contentOffset.x>VIEW_WIDTH){
NSLog(@"向右划");
_currentIndex=++_currentIndex%NumbersOfPictures;
[self initImages];
[_scrollView setContentOffset:CGPointMake(VIEW_WIDTH, 0)];
}
else if(contentOffset.x<VIEW_WIDTH){
NSLog(@"向左滑动");
_currentIndex=(_currentIndex-1+NumbersOfPictures)%NumbersOfPictures;
[self initImages];
[_scrollView setContentOffset:CGPointMake(VIEW_WIDTH, 0)];
}
else{
NSLog(@"do nothing");
}
}
@end