diff --git a/StyledPageControlDemo/PageControlDemo/StyledPageControl.h b/StyledPageControlDemo/PageControlDemo/StyledPageControl.h index 084ee9c..507e7f4 100644 --- a/StyledPageControlDemo/PageControlDemo/StyledPageControl.h +++ b/StyledPageControlDemo/PageControlDemo/StyledPageControl.h @@ -49,7 +49,7 @@ typedef enum @interface StyledPageControl : UIControl @property (nonatomic) UIColor *coreNormalColor, *coreSelectedColor; @property (nonatomic) UIColor *strokeNormalColor, *strokeSelectedColor; -@property (nonatomic, assign) int currentPage, numberOfPages; +@property (nonatomic, assign) NSInteger currentPage, numberOfPages; @property (nonatomic, assign) BOOL hidesForSinglePage; @property (nonatomic, assign) PageControlStyle pageControlStyle; @property (nonatomic, assign) int strokeWidth, diameter, gapWidth; diff --git a/StyledPageControlDemo/PageControlDemo/StyledPageControl.m b/StyledPageControlDemo/PageControlDemo/StyledPageControl.m index f83af7c..fcbdf81 100644 --- a/StyledPageControlDemo/PageControlDemo/StyledPageControl.m +++ b/StyledPageControlDemo/PageControlDemo/StyledPageControl.m @@ -79,14 +79,7 @@ - (void)onTapped:(UITapGestureRecognizer*)gesture // move left if (self.currentPage>0) { - if (touchPoint.x <= 22) - { - self.currentPage = 0; - } - else - { - self.currentPage -= 1; - } + self.currentPage -= 1; } } @@ -95,14 +88,7 @@ - (void)onTapped:(UITapGestureRecognizer*)gesture // move right if (self.currentPage= (CGRectGetWidth(self.bounds) - 22)) - { - self.currentPage = self.numberOfPages-1; - } - else - { - self.currentPage += 1; - } + self.currentPage += 1; } } [self setNeedsDisplay]; @@ -276,8 +262,15 @@ - (void)drawRect:(CGRect)rect CGContextStrokeEllipseInRect(myContext, CGRectMake(x,(self.frame.size.height-_currentPageDiameter)/2,_currentPageDiameter,_currentPageDiameter)); NSString *pageNumber = [NSString stringWithFormat:@"%i", i+1]; - CGContextSetFillColorWithColor(myContext, [[UIColor whiteColor] CGColor]); - [pageNumber drawInRect:CGRectMake(x,(self.frame.size.height-_currentPageDiameter)/2-1,_currentPageDiameter,_currentPageDiameter) withFont:[UIFont systemFontOfSize:_currentPageDiameter-2] lineBreakMode:UILineBreakModeCharacterWrap alignment:UITextAlignmentCenter]; + + NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; + [paragraphStyle setLineBreakMode:NSLineBreakByCharWrapping]; + [paragraphStyle setAlignment:NSTextAlignmentCenter]; + + [pageNumber drawInRect:CGRectMake(x,(self.frame.size.height-_currentPageDiameter)/2-1,_currentPageDiameter,_currentPageDiameter) + withAttributes:@{NSFontAttributeName: [UIFont systemFontOfSize:_currentPageDiameter-2], + NSParagraphStyleAttributeName: paragraphStyle, + NSForegroundColorAttributeName: [UIColor whiteColor]}]; } else { @@ -340,13 +333,13 @@ - (void)setPageControlStyle:(PageControlStyle)style [self setNeedsDisplay]; } -- (void)setCurrentPage:(int)page +- (void)setCurrentPage:(NSInteger)page { _currentPage = page; [self setNeedsDisplay]; } -- (void)setNumberOfPages:(int)numOfPages +- (void)setNumberOfPages:(NSInteger)numOfPages { _numberOfPages = numOfPages; [self setNeedsDisplay];