开源一个带有简单动画的PageControl控件,支持Autolayout,地址GitHub。
目前有三种样式可选,包括:
LCSquirmPageStyle
LCScaleColorPageStyle
LCDepthColorPageStyle
LCFillColorPageStyle
例子
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
调整的间距是两个指示器都在放大状态下的距离,图示:
在 ScaleColorPageStyle 样式下,如果 scrollView 不是滚动到相邻位置的,必须实现以下协议方法,调用clearIndicators
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView;{
[self.pageControl clearIndicators];
}
另外和和原生的UIPageControl
一样,监听当前显示指示器的位置变化,使用的是target - action
的形式:
[pageControl addTarget:self action:@selector(valueChanged:) forControlEvents:UIControlEventValueChanged];
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。