带有简单动画的PageControl

开源一个带有简单动画的PageControl控件,支持Autolayout,地址GitHub

目前有三种样式可选,包括:

  • LCSquirmPageStyle
    《带有简单动画的PageControl》

  • LCScaleColorPageStyle
    《带有简单动画的PageControl》

  • LCDepthColorPageStyle
    《带有简单动画的PageControl》

  • LCFillColorPageStyle
    《带有简单动画的PageControl》

例子


self.pageControl.numberOfPages = 5;指示器的数量
self.pageControl.indicatorMargin = 5.0f;// 指示器之间的间隔,默认是0
self.pageControl.indicatorMultiple = 1.6f;// 指示器的放大倍数,默认是2
self.pageControl.indicatorDiameter = 10.0f;// 指示器的直径
pageControl.pageIndicatorColor = [UIColor grayColor];// 普通状态下的颜色
pageControl.currentPageIndicatorColor = [UIColor redColor];// 当前状态下的颜色
self.pageControl.pageStyle = LCScaleColorPageStyle;// 样式
self.pageControl.sourceScrollView = _collectionView;// 绑定 ScrollView
[self.pageControl prepareShow];// 全部属性设置完后再调用
[self.view addSubview:_pageControl];

注意,indicatorMargin调整的间距是两个指示器都在放大状态下的距离,图示:
《带有简单动画的PageControl》

在 ScaleColorPageStyle 样式下,如果 scrollView 不是滚动到相邻位置的,必须实现以下协议方法,调用clearIndicators

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView;{
    [self.pageControl clearIndicators];
}

另外和和原生的UIPageControl一样,监听当前显示指示器的位置变化,使用的是target - action的形式:

[pageControl addTarget:self action:@selector(valueChanged:) forControlEvents:UIControlEventValueChanged];
    原文作者:bawn
    原文地址: https://segmentfault.com/a/1190000002929046
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞