ios學習之自定義UIPageControl小點的顏色

自定義UIPageControl小點的顏色

 

因爲iOS6.0以上版本纔開放了更改UIPageControl中小點顏色的API,所以在6.0以下版本無法直接使用。這就需要我們自己來定義一個。

首先導入兩個封裝好的文件,在這裏我的文件叫做BluePageControl.hBluePageControl.m,繼承於UIPageControl,重寫了以下的方法。

 

 

 

BluePageControl.h

@interfaceQBluePageControl : UIPageControl

{

UIImage *_activeImage;(藍色圓點圖片)

UIImage *_inactiveImage;(白色圓點圖片)

}

 

@end

 

BluePageControl.m

#import"QBluePageControl.h"

 

@implementationQBluePageControl

 

- (id)initWithFrame:(CGRect)frame

{

self = [superinitWithFrame:frame];

_activeImage = [UIImageimageNamed:@"channel_pagecontrol_bluedot.png"];

_inactiveImage = [UIImageimageNamed:@"channel_pagecontrol_whitedot.png"];

 

 

returnself;

}

 

- (void)updateDots

{

for (inti = 0; i< [self.subviewscount]; i++) {

UIImageView* dot = [self.subviewsobjectAtIndex:i];

 

if (i == self.currentPage){

dot.image = _activeImage;

        }

else

dot.image = _inactiveImage;

    }

}

 

- (void)setCurrentPage:(NSInteger)currentPage

{

    [supersetCurrentPage:currentPage];

    [selfupdateDots];

}

@end

 

 

使用的時候在主程序中#import "QBluePageControl.h"

創建:_pageControl = [[QBluePageControlallocinit];並指定_pageControl的numberOfPages和currentPage就可以實現了。

以上是我最近做大有應用時所遇到的小問題,以後會持續和大家分享我在開發上的點點滴滴。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章