优化的图片轮播

//
// ViewController.m
// 图片轮播
//
// Created by apple on 16/4/20.
// Copyright © 2016年 cuijw. All rights reserved.
//

import “ViewController.h”

define SEECRE_SIZE self.view.bounds.size

@interface ViewController ()
{
int _currentImageIndex;
}

@property (nonatomic,strong)UIScrollView * scrollView;
@property (nonatomic,strong)UIPageControl * pageControl;
@property (nonatomic,copy)NSArray * arr;
@property (nonatomic,strong)UIImageView * leftImageView;
@property (nonatomic,strong)UIImageView * rightImageView;
@property (nonatomic,strong)UIImageView * centerImageView;

@end

@implementation ViewController

  • (void)viewDidLoad {
    [super viewDidLoad];

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

    • 加载数据源
      */
      _arr= @[@”1.jpg”,@”2.jpg”,@”3.jpg”,@”4.jpg”,@”5.jpg”,@”6.jpg”,@”7.jpg”,@”8.jpg”];
      /**
      初始化滚动视图
      */
      self.scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 25, SEECRE_SIZE.width, SEECRE_SIZE.width*1.5)];
      self.scrollView.delegate = self;
      // 设置按页显示
      self.scrollView.pagingEnabled = YES;
      self.scrollView.showsHorizontalScrollIndicator = NO;
      self.scrollView.contentSize = CGSizeMake(SEECRE_SIZE.width*3, 0);
      // 设置偏移量
      self.scrollView.contentOffset=CGPointMake(SEECRE_SIZE.width, 0);
      [self.view addSubview:self.scrollView];

    /**
    初始化左侧视图
    */
    self.leftImageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, SEECRE_SIZE.width, SEECRE_SIZE.width*1.5)];
    [self.scrollView addSubview:self.leftImageView];
    /**
    初始化中间视图
    */
    self.centerImageView = [[UIImageView alloc]initWithFrame:CGRectMake(SEECRE_SIZE.width*2, 0, SEECRE_SIZE.width, SEECRE_SIZE.width*1.5)];
    [self.scrollView addSubview:self.centerImageView];
    /**
    初始化右侧视图
    */
    self.rightImageView = [[UIImageView alloc]initWithFrame:CGRectMake(SEECRE_SIZE.width, 0, SEECRE_SIZE.width, SEECRE_SIZE.width*1.5)];
    [self.scrollView addSubview:self.rightImageView];
    /**

    • 设置图片
      */
      self.leftImageView.image = [UIImage imageNamed:_arr[_arr.count-1]];
      self.centerImageView.image=[UIImage imageNamed:_arr[0]];
      self.centerImageView.image =[UIImage imageNamed:_arr[1]];
      _currentImageIndex = 0;

    /**
    初始化小圆点
    */
    self.pageControl = [[UIPageControl alloc]init];
    self.pageControl.frame = CGRectMake(100, SEECRE_SIZE.height-80, 200, 44);
    [self.view addSubview:self.pageControl];
    self.pageControl.numberOfPages = _arr.count;
    self.pageControl.currentPage = _currentImageIndex;
    self.pageControl.pageIndicatorTintColor = [UIColor magentaColor];
    self.pageControl.currentPageIndicatorTintColor = [UIColor blueColor];

}
/**
* 拖动停止后
*
* @param scrollView
*/
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

/**
 *  声明2个下标
 */

int  leftImageIndex,rightImageIndex;
CGPoint offset = [self.scrollView contentOffset];
if (offset.x>SEECRE_SIZE.width) {
    _currentImageIndex=(_currentImageIndex+1)%_arr.count;
}
else if (offset.x<SEECRE_SIZE.width)
{
    _currentImageIndex=(_currentImageIndex+_arr.count-1)%((int)_arr.count);
}
   _centerImageView.image=[UIImage imageNamed:_arr[_currentImageIndex]];


leftImageIndex=(_currentImageIndex+_arr.count-1)%((int)_arr.count);
rightImageIndex=(_currentImageIndex+1)%((int)_arr.count);

_leftImageView.image=[UIImage imageNamed:_arr[leftImageIndex]];
_rightImageView.image=[UIImage imageNamed:_arr[rightImageIndex]];

self.scrollView.contentOffset=CGPointMake(SEECRE_SIZE.width, 0);
self.pageControl.currentPage = _currentImageIndex;

}

  • (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
    }

@end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值