iOS自定义UIPageViewController(自定义小圆点)

简介

可自定义的pageViewController(小圆点)自定义横向、纵向、大小、图片、间距、颜色、圆形、方形git

特色

  • 自定义UIPageViewController 功能更强大
  • 可定义小圆点是横向布局或纵向布局
  • 可定义小圆点大小
  • 可定义小圆点间距
  • 可定义小圆点可用图片代替
  • 可定义小圆点选中和未选中颜色
  • 可定义小圆点是方形仍是圆形

演示

默认横向排列
默认纵向排列
自定义横向排列
自定义纵向排列

方法介绍

typedef NS_ENUM(NSInteger, ASpageViewDirection) {
    /** 小圆点横向布局 */
    ASpageViewDirectionHorizontal = 0,
    /** 小圆点纵向布局 */
    ASpageViewDirectionVertical,
};

@interface ASPageView : UIView

/** 小圆点个数 */
@property (nonatomic, assign, readonly) NSUInteger pageNumber;
/** 小圆点的布局方向 横向或纵向 */
@property (nonatomic, assign) ASpageViewDirection pageDirection;
/** 小圆点的尺寸  默认 ----(8,8)*/
@property (nonatomic, assign) CGSize pageSize;
/** 小圆点的间距  默认 ---- 10 */
@property (nonatomic, assign) CGFloat pageSpace;
/** 当前选中的第几个圆点 */
@property (nonatomic, assign) NSUInteger currentPage;
/** YES = 圆点  NO = 方形点  默认圆形*/
@property (nonatomic, assign) BOOL circularPage;
/** 小圆点的未选中颜色 默认 ------ */
@property (nonatomic, strong) UIColor *pageIndicatorTintColor;
/** 小圆点的选中状态颜色  默认 ---- */
@property (nonatomic, strong) UIColor *currentPageIndicatorTintColor;
/**
 * 小圆点选中时的图片  传入多个图片名字,小圆点选中的样式就是对应下标的图片 传入一个默认选中样式同样,传入下标和pageNumber个数不匹配,默认和传入一个相同
 * 设置该属性后,小圆点颜色将不起做用
 */
@property (nonatomic, copy) NSArray *currentPageIndicatorArr;
/**
 *小圆点未选中时的图片  传入多个图片名字,小圆点未选中的样式就是对应下标的图片 传入一个默认未选中样式同样,传入下标和pageNumber个数不匹配,默认和传入一个相同
 * 设置该属性后,小圆点颜色将不起做用
 */
@property (nonatomic, copy) NSArray *pageIndicatorArr;

/**
 点击小圆点的回调
 */
@property (nonatomic, copy) void (^ClickASPageView)(NSUInteger currentPage);

/**
 初始化方法
 @param pageNumber 小圆点个数
 */
- (instancetype)initWithFrame:(CGRect)frame pageNumber:(NSUInteger)pageNumber ;
复制代码

使用说明

ASPageView *pageView = [[ASPageView alloc] initWithFrame:CGRectMake(0, 100, 200, 30) pageNumber:3];
  //横向布局
  pageView.pageDirection = ASpageViewDirectionHorizontal;
  //圆点大小
  pageView.pageSize = CGSizeMake(15, 15);
   //点击小圆点的回调
   pageView.ClickASPageView = ^(NSUInteger currentPage) {
  [weakself.rotaView setContentOffsetPage:currentPage];
  };
  [self.view addSubview:pageView];
复制代码

###下载地址 ASPageView下载地址: https://github.com/meetly/ASPageViewgithub

建议搭配ASRotationPageView(轮播图)使用

ASRotationPageView地址:https://github.com/meetly/ASRotationPageViewbash

相关文章
相关标签/搜索