diff --git a/SMPageControl.m b/SMPageControl.m index 597f5c4..6bdfeaf 100755 --- a/SMPageControl.m +++ b/SMPageControl.m @@ -93,8 +93,9 @@ - (void)_initialize _verticalAlignment = SMPageControlVerticalAlignmentMiddle; self.isAccessibilityElement = YES; - self.accessibilityTraits = UIAccessibilityTraitUpdatesFrequently; + self.accessibilityTraits = UIAccessibilityTraitUpdatesFrequently | UIAccessibilityTraitAdjustable; self.accessibilityPageControl = [[UIPageControl alloc] init]; + self.contentMode = UIViewContentModeRedraw; } - (id)initWithFrame:(CGRect)frame @@ -149,7 +150,7 @@ - (void)_renderPages:(CGContextRef)context rect:(CGRect)rect CGImageRef maskingImage = nil; CGSize maskSize = CGSizeZero; - for (NSUInteger i = 0; i < _numberOfPages; i++) { + for (NSInteger i = 0; i < _numberOfPages; i++) { NSNumber *indexNumber = @(i); if (i == _displayedPage) { @@ -297,7 +298,7 @@ - (void)_setImage:(UIImage *)image forPage:(NSInteger)pageIndex type:(SMPageCont } } -- (void)setImage:(UIImage *)image forPage:(NSInteger)pageIndex; +- (void)setImage:(UIImage *)image forPage:(NSInteger)pageIndex { [self _setImage:image forPage:pageIndex type:SMPageControlImageTypeNormal]; [self _updateMeasuredIndicatorSizes]; @@ -385,7 +386,7 @@ - (CGSize)intrinsicContentSize - (void)updatePageNumberForScrollView:(UIScrollView *)scrollView { - NSInteger page = (int)floorf(scrollView.contentOffset.x / scrollView.bounds.size.width); + NSInteger page = (NSInteger)roundf(scrollView.contentOffset.x / scrollView.bounds.size.width); self.currentPage = page; } @@ -421,7 +422,7 @@ - (CGImageRef)createMaskForImage:(UIImage *)image CF_RETURNS_RETAINED { size_t pixelsWide = image.size.width * image.scale; size_t pixelsHigh = image.size.height * image.scale; - int bitmapBytesPerRow = (pixelsWide * 1); + size_t bitmapBytesPerRow = (pixelsWide * 1); CGContextRef context = CGBitmapContextCreate(NULL, pixelsWide, pixelsHigh, CGImageGetBitsPerComponent(image.CGImage), bitmapBytesPerRow, NULL, (CGBitmapInfo)kCGImageAlphaOnly); CGContextTranslateCTM(context, 0.f, pixelsHigh); CGContextScaleCTM(context, 1.0f, -1.0f); @@ -723,4 +724,16 @@ - (void)updateAccessibilityValue } } +#pragma mark - UIAccessibilityAction + +- (void)accessibilityIncrement +{ + [self setCurrentPage:self.currentPage + 1 sendEvent:YES canDefer:NO]; +} + +- (void)accessibilityDecrement +{ + [self setCurrentPage:self.currentPage - 1 sendEvent:YES canDefer:NO]; +} + @end diff --git a/SMPageControl.podspec b/SMPageControl.podspec index 1a008a6..7fab8a1 100644 --- a/SMPageControl.podspec +++ b/SMPageControl.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "SMPageControl" - s.version = "1.1" + s.version = "1.2" s.summary = "UIPageControl’s fancy one-upping cousin." s.description = <<-DESC Designers love to make beautifully custom page controls that fit in with all the wood, @@ -35,7 +35,7 @@ Pod::Spec.new do |s| s.author = { "Jerry Jones" => "jerry@spacemanlabs.com" } s.source = { :git => "https://github.com/Spaceman-Labs/SMPageControl.git", - :tag => "1.1" + :tag => "1.2" } s.platform = :ios, '5.0' s.source_files = 'SMPageControl.{h,m}'