#import "ViewController.h"
@interface ViewController ()<UIScrollViewDelegate>
{
UILabel *label1;
UILabel *label2;
UILabel *label3;
NSInteger _page;
NSMutableArray * _dataArray;
UIScrollView *sc;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
sc = [[UIScrollView alloc] init];
sc.frame = CGRectMake(0, 0, self.view.frame.size.width, 100);
sc.contentSize = CGSizeMake(self.view.frame.size.width*3, 0);
sc.delegate = self;
sc.pagingEnabled = YES;
[self.view addSubview:sc];
_dataArray = [[NSMutableArray alloc] initWithObjects:@"1",@"2",@"3",@"4",@"5", nil];
[sc setContentOffset:CGPointMake(sc.frame.size.width, 0)];
_page = 0;
[self reloadData:_page];
}
-(void)reloadData:(NSInteger)index{
if (!label1) {
label1 = [[UILabel alloc] init];
label1.frame = CGRectMake(0, 0, sc.frame.size.width, 100);
label1.textAlignment = NSTextAlignmentCenter;
label1.backgroundColor = [UIColor redColor];
[sc addSubview:label1];
}
if (index==0) {
label1.text =_dataArray[_dataArray.count-1];
}else{
label1.text =_dataArray[index-1];
}
if (!label2) {
label2 = [[UILabel alloc] init];
label2.frame = CGRectMake(sc.frame.size.width, 0, sc.frame.size.width, 100);
label2.textAlignment = NSTextAlignmentCenter;
label2.backgroundColor = [UIColor redColor];
[sc addSubview:label2];
}
label2.text =_dataArray[index];
if (!label3) {
label3 = [[UILabel alloc] init];
label3.frame = CGRectMake(sc.frame.size.width*2, 0, sc.frame.size.width, 100);
label3.textAlignment = NSTextAlignmentCenter;
label3.backgroundColor = [UIColor redColor];
[sc addSubview:label3];
}
if (index == _dataArray.count-1) {
label3.text =_dataArray[0];
}else{
label3.text =_dataArray[index+1];
}
}
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
if (scrollView.contentOffset.x > scrollView.frame.size.width) {
if (_page == _dataArray.count-1) {
_page = 0;
}else{
_page++;
}
}else if(scrollView.contentOffset.x < scrollView.frame.size.width){
if (_page == 0) {
_page = _dataArray.count-1;
}else{
_page--;
}
}
[self reloadData:_page];
[scrollView setContentOffset:CGPointMake(scrollView.frame.size.width, 0)];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end