//初期化
self.scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, DEVICE_WIDTH, 120)];
self.scrollView.showsHorizontalScrollIndicator = NO;
self.scrollView.showsVerticalScrollIndicator = NO;
self.scrollView.pagingEnabled = YES;
self.scrollView.delegate = self;
self.scrollView.directionalLockEnabled = YES;
self.scrollView.bounces = NO;
self.scrollView.scrollsToTop = NO;
[self.view addSubview:self.scrollView];
self.pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, 100,DEVICE_WIDTH, 10)];
self.pageControl.pageIndicatorTintColor =COLOR_3;
self.pageControl.currentPageIndicatorTintColor = [UIColor whiteColor];
[self.scrollBgView addSubview:self.pageControl];
//初期化总页数
self.totalPage = [self.dataArray count];
//当前页数
self.curPage = 1;
//PageCotrol控件总页数添加
self.pageControl.numberOfPages = self.totalPage;
//页面翻页后的刷新方法
-(void)refreshScrollView
{
[[self.scrollView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];
NSMutableArray * tempArray = [[NSMutableArray alloc]init];
int max = 3;
if ([self.dataArray count] == 1) {
max = 1;
[tempArray addObject:self.dataArray[0]];
} else {
NSInteger before = [self getPageIndex:self.curPage - 1];
NSDictionary * dic0 = self.dataArray[before -1];
[tempArray addObject:dic0];
NSDictionary * dic1 = self.dataArray[self.curPage - 1];
[tempArray addObject:dic1];
NSInteger after = [self getPageIndex:self.curPage + 1];
NSDictionary * dic2 = self.dataArray[after -1];
[tempArray addObject:dic2];
}
for (int i = 0; i < max; i++) {
UIView * pageView = [[UIView alloc]initWithFrame:CGRectMake(i * DEVICE_WIDTH, 0, DEVICE_WIDTH, 120)];
[self.scrollView addSubview:pageView];
//Todo添加页面上内容
}
if ([self.dataArray count] == 1) {
self.scrollView.contentSize = CGSizeMake(DEVICE_WIDTH, self.scrollView.frame.size.height);
self.scrollView.contentOffset = CGPointMake(0, 0);
} else {
self.scrollView.contentSize = CGSizeMake(DEVICE_WIDTH * 3, self.scrollView.frame.size.height);
self.scrollView.contentOffset = CGPointMake(self.scrollView.frame.size.width, 0);
}
self.pageControl.currentPage = self.curPage - 1;
}
//获取当前页
- (NSInteger)getPageIndex:(NSInteger)index
{
// value=1为第一张,value = 0为前面一张
if (index == 0)
{
index = self.totalPage;
}
if (index == self.totalPage + 1)
{
index = 1;
}
return index;
}
#pragma mark UIScrollViewDelegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (self.scrollView.contentOffset.y < 0) {
self.scrollView.contentOffset = CGPointMake(self.scrollView.contentOffset.x, 0);
}
if (self.scrollView.contentOffset.y > 0) {
self.scrollView.contentOffset = CGPointMake(self.scrollView.contentOffset.x, 0);
}
NSInteger x = self.scrollView.contentOffset.x;
// 往下翻一张
if (x >= 2 * self.scrollView.frame.size.width)
{
self.curPage = [self getPageIndex:self.curPage + 1];
[self refreshScrollView];
}
if (x <= 0)
{
self.curPage = [self getPageIndex:self.curPage - 1];
[self refreshScrollView];
}
}