#import "ViewController.h"
@interface ViewController (){
CGFloat w;
NSMutableArray*imgArr;
NSMutableArray*pageArr;
}@end
@implementationViewController- (void)viewDidLoad {
[super viewDidLoad];
w=self.view.frame.size.width;//page的个数
pageArr =[NSMutableArray array];for (int i = 1; i <= 3; i++) {
[pageArr addObject:[NSString stringWithFormat:@"%d.jpg",i]];
}//重新获取imgView的个数,将显示的第最后一张图片放在第一张,而在最后一张放置显示的第一张图片
imgArr =[NSMutableArray array];
[imgArr addObject:pageArr[pageArr.count- 1]];for (NSString *imgSrc inpageArr) {
[imgArr addObject:imgSrc];
}
[imgArr addObject:pageArr[0]];
self.mainScroll.contentSize= CGSizeMake(w*imgArr.count, 0);//开始塞入图片
for (int i = 0; i < imgArr.count; i++) {
NSString*imgSrc =imgArr[i];
UIImageView*imgView = [[UIImageView alloc] initWithFrame:CGRectMake(i*w, 0, w, self.mainScroll.frame.size.height)];
[imgView setImage:[UIImage imageNamed:imgSrc]];
[self.mainScroll addSubview:imgView];
}
self.pageControl.numberOfPages=pageArr.count;
self.mainScroll.bounces=NO;
self.mainScroll.pagingEnabled=YES;
self.mainScroll.showsHorizontalScrollIndicator=NO;
self.mainScroll.showsVerticalScrollIndicator=NO;
self.mainScroll.delegate =self;//自动将scrollView移动显示的第一张图片处
[self.mainScroll setContentOffset:CGPointMake(w, 0) animated:NO];
}- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
CGFloat offsetX=scrollView.contentOffset.x;int index = offsetX/w;if (index == 0) {
[self.mainScroll setContentOffset:CGPointMake(w*(imgArr.count-2), 0) animated:NO];
self.pageControl.currentPage= pageArr.count - 1;
}else if (index == imgArr.count -1){
[self.mainScroll setContentOffset:CGPointMake(w,0) animated:NO];
self.pageControl.currentPage= 0;
}else{
self.pageControl.currentPage= index - 1;
}
}@end