iOS随手整一个无限轮播图

来源:互联网 发布:语音网络配线架图片 编辑:程序博客网 时间:2024/06/03 18:54

//

//  ViewController.m

//  scroll

//

//  Created by 杨宣伟 on 2017/8/18.

//  Copyright © 2017杨宣伟. All rights reserved.

//


#import "ViewController.h"


@interface ViewController ()<UIScrollViewDelegate>

{

    UILabel *label1;

    UILabel *label2;

    UILabel *label3;

    NSInteger _page;

    

    NSMutableArray * _dataArray;

    UIScrollView *sc;

}

@end


@implementation ViewController


- (void)viewDidLoad {

    [superviewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    

    sc = [[UIScrollViewalloc] 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.viewaddSubview:sc];

    

    _dataArray = [[NSMutableArrayalloc] initWithObjects:@"1",@"2",@"3",@"4",@"5",nil];

    [scsetContentOffset:CGPointMake(sc.frame.size.width,0)];

    

    _page =0;

    [selfreloadData:_page];

    

}

-(void)reloadData:(NSInteger)index{

    

    if (!label1) {

        label1 = [[UILabelalloc] init];

        label1.frame =CGRectMake(0,0, sc.frame.size.width,100);

        label1.textAlignment =NSTextAlignmentCenter;

        label1.backgroundColor = [UIColorredColor];

        [scaddSubview:label1];

    }

    if (index==0) {

        label1.text =_dataArray[_dataArray.count-1];

    }else{

        label1.text =_dataArray[index-1];

    }

    

    if (!label2) {

        label2 = [[UILabelalloc] init];

        label2.frame =CGRectMake(sc.frame.size.width,0, sc.frame.size.width,100);

        label2.textAlignment =NSTextAlignmentCenter;


        label2.backgroundColor = [UIColorredColor];

        [scaddSubview:label2];

    }

    

    label2.text =_dataArray[index];


    if (!label3) {

        label3 = [[UILabelalloc] init];

        label3.frame =CGRectMake(sc.frame.size.width*2,0, sc.frame.size.width,100);

        label3.textAlignment =NSTextAlignmentCenter;


        label3.backgroundColor = [UIColorredColor];

        [scaddSubview: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++;

        }

        

        

    }elseif(scrollView.contentOffset.x < scrollView.frame.size.width){

        if (_page ==0) {

            _page =_dataArray.count-1;

        }else{

            _page--;

        }

    }

    

    [selfreloadData:_page];

    [scrollView setContentOffset:CGPointMake(scrollView.frame.size.width,0)];


    

}


- (void)didReceiveMemoryWarning {

    [superdidReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}



@end


原创粉丝点击