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

简介

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

特点

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

演示

iOS自定义UIPageViewController(自定义小圆点)_第1张图片
默认横向排列

iOS自定义UIPageViewController(自定义小圆点)_第2张图片
默认纵向排列

iOS自定义UIPageViewController(自定义小圆点)_第3张图片
自定义横向排列

iOS自定义UIPageViewController(自定义小圆点)_第4张图片
自定义纵向排列

方法介绍

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/ASPageView

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

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

你可能感兴趣的:(iOS自定义UIPageViewController(自定义小圆点))