首页 > 移动平台 > 详细

在iOS7中UIPageControl的改变

时间:2014-04-14 19:00:41      阅读:475      评论:0      收藏:0      [点我收藏+]

1. 改变:原来PageControl的subview是UIImageView,现在变成了UIView.

2. 解决办法:重画。

3. 代码:(因为我的PageControl通过IB初始化的,所以下面的代码中没有初始化部分。你可以自行初始化

//
//  CustomPageControl.m
//  Sampling
//
//  Created by Megan on 10/18/13.
//  Copyright (c) 2013. All rights reserved.
//

#import "CustomPageControl.h"

@implementation CustomPageControl

- (void)setCurrentPage:(NSInteger)currentPage
{
    [super setCurrentPage:currentPage];
    [self setNeedsDisplay];    
}

- (void)setNumberOfPages:(NSInteger)numberOfPages
{
    [super setNumberOfPages:numberOfPages];
    
     [self setNeedsDisplay];
    
}

- (void)drawRect:(CGRect)iRect
{
    int i;
    CGRect rect;
    UIImage *image;
    
    iRect = self.bounds;
    
    if (self.opaque) {
        [self.backgroundColor set];
        UIRectFill(iRect);
    }
    
    UIImage *_activeImage = [UIImage imageNamed:@"INDICATOR-activated.png"];
    UIImage *_inactiveImage = [UIImage imageNamed:@"INDICATOR-deactivated.png"];
    CGFloat _kSpacing = 5.0f;
    
    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;
    }
}

@end


在iOS7中UIPageControl的改变,布布扣,bubuko.com

在iOS7中UIPageControl的改变

原文:http://blog.csdn.net/haogaoming123/article/details/23663207

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!