[转载]iphone开发--改变UIPageControl里的小点的颜色

iphone开发--改变UIPageControl里的小点的颜色


iphone的UIPageControl控件可以显示用户huan'dong滑动到的页码。但是里面的小点的颜色时默认的白色。如果背景也是白色的hu话,你就悲剧了。于是乎上网找了一些资料,找到了改变UIPageControl空间xiao'da小点颜色的方法。解决fang'r方法如下:

GrayPageControl.h:


#import <Foundation/Foundation.h>



@interface GrayPageControl : UIPageControl

{

    UIImageactiveImage;

    UIImageinactiveImage;

}


@end


GrayPageControl.m:

#import "GrayPageControl.h"



@implementation GrayPageControl

//-(id) initWithCoder:(NSCoder *)aDecoder

//{

//    self = [super initWithCoder:aDecoder];

// 

//    activeImage = [[UIImage imageNamed:@"RedPoint.png"] retain];

//    inactiveImage = [[UIImage imageNamed:@"BluePoint.png"] retain];

// 

//    return self;

//}


-(id) initWithFrame:(CGRect)frame

{

self = [super initWithFrame:frame];


activeImage = [[UIImage imageNamed:@"RedPoint.png"retain];

    inactiveImage = [[UIImage imageNamed:@"BluePoint.png"retain];


    return self;

}


-(void) updateDots

{

    for (int i = 0; i < [self.subviews count]; i++)

    {

        UIImageView* dot = [self.subviews objectAtIndex:i];

        if (i == self.currentPage) dot.image activeImage;

        else dot.image inactiveImage;

    }

}


-(void) setCurrentPage:(NSInteger)page

{

    [super setCurrentPage:page];

    [self updateDots];

}

@end


试用该类的方法是:

pageControl = [[GrayPageControl allocinitWithFrame:CGRectMake(0.0460.0 - (96 48) / 2320.048.0 /2)];

pageControl.userInteractionEnabled NO;


注意:小圆点颜色改变时要调用pageControl中的setCurrentPage方法。

本人理解的思路:

首先GrayPageControl重载了UIPageControl的-(id) initWithFrame:(CGRect)frame方法。初始化了两个图片,即我们想要改变的小点点的颜色(一个是当前页的颜色,一个是非当前页的颜色)。

之后重载了UIPageControl的-(void) setCurrentPage:(NSInteger)page方法(此方法设置当前页的小点点的颜色)。注意在此处我们显式调用了-(void) updateDots方法,此方法中首先便利UIPageControl的子类,即每个小点点的UIImageView,我们设置每个小点点的imageView就可以了。哈哈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值