簡介
可自定義的pageViewController(小圓點)自定義橫向、縱向、大小、圖片、間距、顏色、圓形、方形
特點
- 自定義UIPageViewController 功能更強大
- 可定義小圓點是橫向布局或縱向布局
- 可定義小圓點大小
- 可定義小圓點間距
- 可定義小圓點可用圖片代替
- 可定義小圓點選中和未選中顏色
- 可定義小圓點是方形還是圓形
演示
默認橫向排列
默認縱向排列
自定義橫向排列
自定義縱向排列
方法介紹
typedef NS_ENUM(NSInteger, ASpageViewDirection) {
/** 小圓點橫向布局 */
ASpageViewDirectionHorizontal = 0,
/** 小圓點縱向布局 */
ASpageViewDirectionVertical,
};
@interface ASPageView : UIView
/** 小圓點個數(shù) */
@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;
/** 小圓點的選中狀態(tài)顏色 默認 ---- */
@property (nonatomic, strong) UIColor *currentPageIndicatorTintColor;
/**
* 小圓點選中時的圖片 傳入多個圖片名字,小圓點選中的樣式就是對應下標的圖片 傳入一個默認選中樣式一樣,傳入下標和pageNumber個數(shù)不匹配,默認和傳入一個相同
* 設置該屬性后,小圓點顏色將不起作用
*/
@property (nonatomic, copy) NSArray *currentPageIndicatorArr;
/**
*小圓點未選中時的圖片 傳入多個圖片名字,小圓點未選中的樣式就是對應下標的圖片 傳入一個默認未選中樣式一樣,傳入下標和pageNumber個數(shù)不匹配,默認和傳入一個相同
* 設置該屬性后,小圓點顏色將不起作用
*/
@property (nonatomic, copy) NSArray *pageIndicatorArr;
/**
點擊小圓點的回調(diào)
*/
@property (nonatomic, copy) void (^ClickASPageView)(NSUInteger currentPage);
/**
初始化方法
@param pageNumber 小圓點個數(shù)
*/
- (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);
//點擊小圓點的回調(diào)
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