美文网首页
WKCPageControlView(自定义pageContro

WKCPageControlView(自定义pageContro

作者: 师傅我坚持不住了 | 来源:发表于2018-05-08 15:01 被阅读155次

自定义pageControll.

原理较简单,就是切换当前坐标下的视图样式.
使用起来也简单.也是同UITableView.

pod 'WKCPageControlView'

引入头文件.

#import <WKCPageControlView.h>
  1. 初始化
- (WKCPageControlView *)pageControlView {
    if (!_pageControlView) {
        _pageControlView = [[WKCPageControlView alloc] initWithFrame:CGRectMake(0, 500, 375, 60)];
        _pageControlView.dataSource = self;
        _pageControlView.currentItemSize = CGSizeMake(50, 50);
        _pageControlView.extraItemSize = CGSizeMake(30, 30);
        _pageControlView.itemSpacing = 8;
        _pageControlView.edgeSpaing = 15;
        _pageControlView.alignment = WKCPageControlViewPageAlignmentCenter;
        _pageControlView.backgroundColor = [UIColor greenColor];
    }
    return _pageControlView;
}

提供了三种位置布局,靠左,靠右以及居中.

typedef NS_ENUM(NSInteger,WKCPageControlViewPageAlignment) {
    WKCPageControlViewPageAlignmentCenter, //居中
    WKCPageControlViewPageAlignmentLeft, //左
    WKCPageControlViewPageAlignmentRight //靠右
};
  1. 布局.这里直接给了两个布局回调,一是当前坐标的视图,二是其它的视图.刷新数据时,reloadData即可.[self.pageControlView reloadData];
- (NSInteger)numberOfViewsInWKCPageControlView:(WKCPageControlView *)pageControlView {
    return self.dataSource.count;
}

- (UIView *)WKCPageControlViewForCurrentItem:(WKCPageControlView *)pageControlView {
    UIView *view = [UIView new];
    view.backgroundColor = [UIColor redColor];
    return view;
}

- (UIView *)WKCPageControlViewForExtraItem:(WKCPageControlView *)pageControlView {
    UIView *view = [UIView new];
    view.backgroundColor = [UIColor grayColor];
    return view;
}
  1. 更改坐标.[self.pageControlView setCurrentIndex:scrollView.currentIndex];
    根根滑动视图的切换而切换.下边是与WKCScrollView配合使用的.
- (void)WKCScrollViewDidScroll:(WKCScrollView *)scrollView contentOffset:(CGPoint)offset currentIndex:(NSInteger)index {
    
    [self.pageControlView setCurrentIndex:scrollView.currentIndex];
}

效果图

pageControl.gif

如发现bug或问题,请私信.github地址

相关文章

网友评论

      本文标题:WKCPageControlView(自定义pageContro

      本文链接:https://www.haomeiwen.com/subject/ekxwrftx.html