UIPageControl自定义点的颜色

本文介绍如何使用自定义灰度页控件(GrayPageControl)来增强iOS应用的导航体验,包括其核心实现原理、封装过程及在实际项目中的应用案例。通过继承UIPageControl并重写关键方法,开发者能够实现个性化和高度定制化的导航界面,提高用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 屏幕快照 2011-04-02 下午12.32.27 屏幕快照 2011-04-02 下午12.32.47 屏幕快照 2011-04-02 下午12.27.39 首先导入已经封装好的两个文件GrayPageControl.h,GrayPageControl.m,里面继承了UIPageControl,重写了他的方法。文件内容如下:

GrayPageControl.h:

#import <Foundation/Foundation.h>
@interface GrayPageControl : UIPageControl {
    UIImage* activeImage;
    UIImage* inactiveImage;
}
@end

GrayPageControl.m:

#import “GrayPageControl.h”
@implementation GrayPageControl
-(id) initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    activeImage = [[UIImage imageNamed:@"inactive_page_image.png"] retain];
    inactiveImage = [[UIImage imageNamed:@"active_page_image.png"] retain];
    [self setCurrentPage:1];
    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];
}
-(void)dealloc
{
    [super dealloc];
}
@end

在主程序中,只要程序把GrayPageControl的对象当做UIPageControl的对象做就可以了,另外注意,关联控件的时候屏幕快照 2011-04-02 下午03.17.27 要继承GrayPageControl类

转载于:https://www.cnblogs.com/Xer-Lee/archive/2012/05/25/2517894.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值