New file |
| | |
| | | // |
| | | // TAPageControl.h |
| | | // TAPageControl |
| | | // |
| | | // Created by Tanguy Aladenise on 2015-01-21. |
| | | // Copyright (c) 2015 Tanguy Aladenise. All rights reserved. |
| | | // |
| | | |
| | | #import <UIKit/UIKit.h> |
| | | |
| | | @protocol TAPageControlDelegate; |
| | | |
| | | |
| | | @interface TAPageControl : UIControl |
| | | |
| | | |
| | | /** |
| | | * Dot view customization properties |
| | | */ |
| | | |
| | | /** |
| | | * The Class of your custom UIView, make sure to respect the TAAbstractDotView class. |
| | | */ |
| | | @property (nonatomic) Class dotViewClass; |
| | | |
| | | |
| | | /** |
| | | * UIImage to represent a dot. |
| | | */ |
| | | @property (nonatomic) UIImage *dotImage; |
| | | |
| | | |
| | | /** |
| | | * UIImage to represent current page dot. |
| | | */ |
| | | @property (nonatomic) UIImage *currentDotImage; |
| | | |
| | | |
| | | /** |
| | | * Dot size for dot views. Default is 8 by 8. |
| | | */ |
| | | @property (nonatomic) CGSize dotSize; |
| | | |
| | | |
| | | @property (nonatomic, strong) UIColor *dotColor; |
| | | |
| | | /** |
| | | * Spacing between two dot views. Default is 8. |
| | | */ |
| | | @property (nonatomic) NSInteger spacingBetweenDots; |
| | | |
| | | |
| | | /** |
| | | * Page control setup properties |
| | | */ |
| | | |
| | | |
| | | /** |
| | | * Delegate for TAPageControl |
| | | */ |
| | | @property(nonatomic,assign) id<TAPageControlDelegate> delegate; |
| | | |
| | | |
| | | /** |
| | | * Number of pages for control. Default is 0. |
| | | */ |
| | | @property (nonatomic) NSInteger numberOfPages; |
| | | |
| | | |
| | | /** |
| | | * Current page on which control is active. Default is 0. |
| | | */ |
| | | @property (nonatomic) NSInteger currentPage; |
| | | |
| | | |
| | | /** |
| | | * Hide the control if there is only one page. Default is NO. |
| | | */ |
| | | @property (nonatomic) BOOL hidesForSinglePage; |
| | | |
| | | |
| | | /** |
| | | * Let the control know if should grow bigger by keeping center, or just get longer (right side expanding). By default YES. |
| | | */ |
| | | @property (nonatomic) BOOL shouldResizeFromCenter; |
| | | |
| | | |
| | | /** |
| | | * Return the minimum size required to display control properly for the given page count. |
| | | * |
| | | * @param pageCount Number of dots that will require display |
| | | * |
| | | * @return The CGSize being the minimum size required. |
| | | */ |
| | | - (CGSize)sizeForNumberOfPages:(NSInteger)pageCount; |
| | | |
| | | |
| | | @end |
| | | |
| | | |
| | | @protocol TAPageControlDelegate <NSObject> |
| | | |
| | | @optional |
| | | - (void)TAPageControl:(TAPageControl *)pageControl didSelectPageAtIndex:(NSInteger)index; |
| | | |
| | | @end |