佳为好友

转:自定义UIPageControl的indicator的image

创建:2012.03.01
转:来自F。
===CustomPageControl.h===

#import <Foundation/Foundation.h>

#import <UIKit/UIKit.h>


@interface CustomPageControl : UIPageControl {

    UIImage* imageNormal;

    UIImage* imageCurrent;

}


@property (nonatomic, retain) UIImage* imageNormal;

@property (nonatomic, retain) UIImage* imageCurrent;

@end

===CustomPageControl.m===

#import "CustomPageControl.h"


@interface CustomPageControl(Private)

- (void) updateDots;

@end


@implementation CustomPageControl

@synthesize imageNormal,imageCurrent;



/** override to update dots */

- (void) setCurrentPage:(NSInteger)currentPage

{

    [super setCurrentPage:currentPage];

    

    // update dot views

    [self updateDots];

}


/** override to update dots */

- (void) updateCurrentPageDisplay

{

    [super updateCurrentPageDisplay];

    

    // update dot views

    [self updateDots];

}


/** Override setImageNormal */

- (void) setImageNormal:(UIImage*)image

{

    [imageNormal release];

    imageNormal = [image retain];

    

    // update dot views

    [self updateDots];

}


/** Override setImageCurrent */

- (void) setImageCurrent:(UIImage*)image

{

    [imageCurrent release];

    imageCurrent = [image retain];

    

    // update dot views

    [self updateDots];

}


- (void) endTrackingWithTouch:(UITouch*)touch withEvent:(UIEvent*)event 

{

    [super endTrackingWithTouch:touch withEvent:event];

    

    [self updateDots];

}


#pragma mark -

#pragma mark updateDots


- (void) updateDots

{

    if(imageNormal || imageCurrent)

    {

        // Get subviews

        NSArray* dotViews = self.subviews;

        for(int i = 0; i < dotViews.count; ++i)

        {

            UIImageView* dot = [dotViews objectAtIndex:i];

            // Set image

            dot.image = (i == self.currentPage) ? imageCurrent : imageNormal;

        }

    }

}

#pragma mark-

#pragma mark dealloc

- (void) dealloc

{

    [imageNormal release];

    imageNormal = nil;

    [imageCurrent release];

    imageCurrent = nil;

    

[super dealloc];

}


@end

+++++

posted on 2012-12-29 11:11 佳为好友 阅读(232) 评论(0)  编辑 收藏 引用 所属分类: UI


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2012年12月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

留言簿(1)

随笔分类

搜索

最新评论

评论排行榜