#import "ViewController.h"
#define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width
#define SCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height
@interface ViewController () <UIScrollViewDelegate>
/**实例化scrollview*/
- (void)createScrollView;
/**scrollView添加子视图*/
- (void)addChildViewAboutMyScroll;
/**展示*/
@property (nonatomic,strong)UIScrollView *myScroll;
@end
@implementation ViewController {
/**总页数*/
NSInteger _wholePages;
/**当前页*/
NSInteger _currentPage;
}
- (void)viewDidLoad {
[superviewDidLoad];
/**实例化scrollview*/
[selfcreateScrollView];
/**scrollview添加子视图*/
[selfaddChildViewAboutMyScroll];
}
/**实例化scrollview*/
- (void)createScrollView {
self.myScroll = [[UIScrollViewalloc] initWithFrame:self.view.bounds];
/**打开按页滚动*/
self.myScroll.pagingEnabled =YES;
/**设置代理*/
self.myScroll.delegate =self;
/**初始化总页数与当前显示页*/
_wholePages =6;
_currentPage =1;
/**设置起始显示点*/
self.myScroll.contentOffset =CGPointMake(_currentPage *SCREEN_WIDTH, 0);
/**设置可滚动的最大大小*/
self.myScroll.contentSize =CGSizeMake(3 *SCREEN_WIDTH, 0);
/**添加到view上*/
[self.viewaddSubview:self.myScroll];
}
/**scrollView添加子视图*/
- (void)addChildViewAboutMyScroll {
for (int i =0; i < 3; i++) {
UIImageView *imageView = [[UIImageViewalloc] initWithFrame:CGRectMake(i*SCREEN_WIDTH,0, SCREEN_WIDTH,SCREEN_HEIGHT)];
/**初始化显示三张图片*/
imageView.image = [UIImageimageWithContentsOfFile:[[NSBundlemainBundle] pathForResource:[NSStringstringWithFormat:@"海贼%02d",i]ofType:@"jpg"]];
[self.myScrolladdSubview:imageView];
}
}
/**数据刷新*/
- (void)refreshData {
[selfupdateSubImageView:(_currentPage -1) with:0];
[selfupdateSubImageView:_currentPagewith:1];
[selfupdateSubImageView:(_currentPage +1) with:2];
}
/**
abstact:根据传入数据修改相对应子视图
imageName:拼接图片名字
index:子视图下标
*/
- (void)updateSubImageView:(NSInteger)imageName with:(NSInteger)index {
UIImage *image = [UIImageimageWithContentsOfFile:[[NSBundlemainBundle] pathForResource:[NSStringstringWithFormat:@"海贼%02ld",((imageName +_wholePages) % _wholePages) ]ofType:@"jpg"]];
NSLog(@"%@",[NSStringstringWithFormat:@"海贼%02ld",((imageName +_wholePages) % _wholePages) ]);
UIImageView *imageView =self.myScroll.subviews[index];
/**修改子视图显示图片*/
imageView.image = image;
}
#pragma mark ------------scrollview协议相关-----------
/**滚动视图停止滚动*/
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
/**计算当前显示的是第几页*/
NSInteger subViewIndex = scrollView.contentOffset.x /SCREEN_WIDTH;
switch (subViewIndex) {
case0:
{
_currentPage = ((_currentPage -1) % _wholePages);
[selfrefreshData];
}
break;
case2:
{
_currentPage = ((_currentPage +1) % _wholePages);
[selfrefreshData];
}
break;
default:
break;
}
/**刷新ContentOffSet*/
[self.myScrollsetContentOffset:CGPointMake(SCREEN_WIDTH,0) animated:NO];
}