SDCycleScrollView基础上的pageControl 扩展和续写

效果图

SDCycleScrollView基础上的pageControl 扩展和续写_第1张图片
图片

感谢

感谢室友宋行同学提供的思路,本来是想着用绘制的方法的,因为想到添加图片的方式太过于耗费性能,但是当前基于项目时间比较紧,所以采用了室友实践过的方案.
后续空闲时间里,会再用绘制的方式重新写一遍.

思路

就是两张图片,UIView动画改变图片的大小.
需要注意的的地方就是,阅读源码找到改动的位置 和 处理临界值的情况.
附上一张我的草稿图,图中是按照五张滚动图片的情况画的. i 代表


SDCycleScrollView基础上的pageControl 扩展和续写_第2张图片
图片
  • index: 代表当前展示的是哪一张
  • i: 代表当前index 情况下,轮播图中所有pageControl的位置x 值
    你可以使用代码比较工具,查看一下我改动了哪些代码. 主要是TAPageControl.m, SDCycleScrollView.m, ViewController.m三个文件中.

另外,轮播器的pageCpntrol样式一定要设置成:

cycleScrollView2.pageControlStyle = SDCycleScrollViewPageContolStyleAnimated;

关于计算pageControl

关于计算pageControl的 x 坐标值,我们可以分为两部分, 一步是12+5(长图片的宽度+间距)何时出现, 还有就是5+5(短图宽度+间距).

为了更便于直观理解,我没有把这两个魔法数字替换成self.dotSize.width, self.currentDotSize.widthself.spacingBetweenDots. 大家后期封装可以自行替换.
代码地址

交流

希望能和大家交流技术

我的博客地址

你可能感兴趣的:(SDCycleScrollView基础上的pageControl 扩展和续写)