IOS开发:BannerView无限轮播的原理和使用

本文介绍了无限轮播的原理,通过在图片数组首尾添加重复图片,结合ScrollView滚动,实现无缝轮播效果。并提供了一个自封装的BannerView Demo,需导入SDWebImage第三方库,并通过代理方法实现轮播图点击事件,获取点击项的下标。Demo下载链接:https://pan.baidu.com/s/1cdYR6Bx0Uv7bb7JKvoGbpg。
摘要由CSDN通过智能技术生成

无限轮播的原理:

在图片的数组中额外插入两个图片,在数组第一个元素前加一个图片,和原数组中最后一个图片相同,在数组最后一个元素后加图片,和原数组第一个图片相同。

NSMutableArray *muArr = [NSMutableArray array];
        [muArr addObject: imageNameArray.lastObject];
        [muArr addObjectsFromArray:imageNameArray];
        [muArr addObject: imageNameArray.firstObject];

以数字代表图片做例子:

原数组 =  @[1,2,3,4,5];

现数组 = @[5,1,2,3,4,5,1];

当ScrollView滚动到 现数组 5(下标0)的位置的时候,让ScrollView的偏移量直接移到 下一个5(下标5),

当ScrollView滚动到 现数组 1(下标6)的位置的时候,让ScrollView的偏移量直接移到 下一个1(下标1),

/*
     参数:滚动偏移量X值: scrollOffset
     滚动视图: scrollView
     滚动视图宽度: scrollFrameW
     现数组: _imageNameArr
     */
    if (scrollOffset == 0)
        scrollView.contentOffset = CGPointMake(scrollFrameW* (_imageNameArr.count-2), 0);
    else if (scrollOffset == scrollFrameW* (_imageNameArr.count-1))
        scrollView.contentOffset = CGPointMake(sc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值