ios7 UIPageControl变化

来源:互联网 发布:北京80越野车数据 编辑:程序博客网 时间:2024/05/20 14:17

原文:http://www.cnblogs.com/jiangshiyong/p/3334856.html

ios6 以前subviews是UIImageView ,到了ios7下就变成了UIView

先说下ios7之前 那些点点的实现非常简单 就是UIPageControl.subviews 就是一个个点的UIImageView 所以只需简单的替换掉就好了代码如下:

- (void)updateDots{     for (int i = 0; i< [self.subviews count]; i++) {        UIImageView* dot =[self.subviews objectAtIndex:i];         if (i == self.currentPage) {            if ([dot respondsToSelector:@selector(setImage:)]) {                dot.image=_activeImage;            }         } else {            if ([dot respondsToSelector:@selector(setImage:)]) {                dot.image=_inactiveImage;            }        }    }} - (void)setCurrentPage:(NSInteger)currentPage{    [super setCurrentPage:currentPage];    if ([[[UIDevice currentDevice]systemVersion]floatValue] <=6.0) {        [self updateDots];    }//    [self updateDots];    [self setNeedsDisplay];}- (void)setNumberOfPages:(NSInteger)numberOfPages{    [super setNumberOfPages:numberOfPages];    if ([[[UIDevice currentDevice]systemVersion]floatValue] <=6.0) {        [self updateDots];    }//    [self updateDots];    [self setNeedsDisplay]; }-(void)drawRect:(CGRect)iRect{    if ([kIphoneVersionfloatValue]>=7.0){//加个判断    int i;    CGRect rect;     UIImage *image;    iRect = self.bounds;     if ( self.opaque ) {        [self.backgroundColor set];        UIRectFill( iRect );    }     if ( self.hidesForSinglePage && self.numberOfPages == 1 ) return;     rect.size.height = _activeImage.size.height;    rect.size.width = self.numberOfPages * _activeImage.size.width + ( self.numberOfPages - 1 ) * _kSpacing;    rect.origin.x = floorf( ( iRect.size.width - rect.size.width ) / 2.0 );    rect.origin.y = floorf( ( iRect.size.height - rect.size.height ) / 2.0 );    rect.size.width = _activeImage.size.width;     for ( i = 0; i < self.numberOfPages; ++i ) {        image = i == self.currentPage ? _activeImage : _inactiveImage;         [image drawInRect: rect];         rect.origin.x += _activeImage.size.width + _kSpacing;    }    }else {    }}



0 0
原创粉丝点击