偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

iPhone開發(fā)中UIPageControl實(shí)現(xiàn)自定義按鈕教程

移動(dòng)開發(fā) iOS
iPhone開發(fā)中UIPageControl實(shí)現(xiàn)自定義按鈕是本文要介紹的內(nèi)容,主要講解的是來實(shí)現(xiàn)自定義按鈕,有時(shí)候UIPageControl需要用到白色的背景,那么會(huì)導(dǎo)致上面的點(diǎn)按鈕看不見或不清楚,

iPhone開發(fā)UIPageControl實(shí)現(xiàn)自定義按鈕是本文要介紹的內(nèi)容,主要講解的是來實(shí)現(xiàn)自定義按鈕,有時(shí)候UIPageControl需要用到白色的背景,那么會(huì)導(dǎo)致上面的點(diǎn)按鈕看不見或不清楚,我們可以通過繼承該類重寫函數(shù)來更換點(diǎn)按鈕的圖片現(xiàn)實(shí)。

實(shí)現(xiàn)思路如下.

新建類繼承UIPageControl :

  1.  @interface MyPageControl : UIPageControl   
  2. {   
  3.     UIImage *imagePageStateNormal;   
  4.     UIImage *imagePageStateHighlighted;   
  5. }   
  6. - (id)initWithFrame:(CGRect)frame;   
  7. @property (nonatomic, retain) UIImage *imagePageStateNormal;   
  8. @property (nonatomic, retain) UIImage *imagePageStateHighlighted;   
  9. @end  

聲明了初始化該類的函數(shù)

用了兩個(gè)UIImage保存兩張圖片, 大家知道的, UIPageCotrol的按鈕分為兩態(tài), 一個(gè)是正常, 一個(gè)是高亮

接下來實(shí)現(xiàn)該類以及重寫父類方法:

  1.  @interface MyPageControl(private)  // 聲明一個(gè)私有方法, 該方法不允許對象直接使用   
  2.  
  3. - (void)updateDots;   
  4. @end   
  5. @implementation MyPageControl  // 實(shí)現(xiàn)部分   
  6. @synthesize imagePageStateNormal;   
  7. @synthesize imagePageStateHighlighted;   
  8. - (id)initWithFrame:(CGRect)frame { // 初始化   
  9.     self = [super initWithFrame:frame];   
  10.     return self;   
  11. }   
  12. - (void)setImagePageStateNormal:(UIImage *)image {  // 設(shè)置正常狀態(tài)點(diǎn)按鈕的圖片   
  13.     [imagePageStateHighlighted release];   
  14.     imagePageStateHighlighted = [image retain];   
  15.     [self updateDots];   
  16. }   
  17. - (void)setImagePageStateHighlighted:(UIImage *)image { // 設(shè)置高亮狀態(tài)點(diǎn)按鈕圖片   
  18.     [imagePageStateNormal release];   
  19.     imagePageStateNormal = [image retain];   
  20.     [self updateDots];   
  21. }   
  22. - (void)endTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event { // 點(diǎn)擊事件   
  23.     [super endTrackingWithTouch:touch withEvent:event];   
  24.     [self updateDots];   
  25. }   
  26. - (void)updateDots { // 更新顯示所有的點(diǎn)按鈕   
  27.     if (imagePageStateNormal || imagePageStateHighlighted)   
  28.     {   
  29.         NSArray *subview = self.subviews;  // 獲取所有子視圖   
  30.         for (NSInteger i = 0; i < [subview count]; i++)   
  31.         {   
  32.             UIImageView *dot = [subview objectAtIndex:i];  // 以下不解釋, 看了基本明白   
  33.             dot.image = self.currentPage == i ? imagePageStateNormal : imagePageStateHighlighted;   
  34.         }   
  35.     }   
  36. }   
  37. - (void)dealloc { // 釋放內(nèi)存   
  38.     [imagePageStateNormal release], imagePageStateNormal = nil;   
  39.     [imagePageStateHighlighted release], imagePageStateHighlighted = nil;   
  40.     [super dealloc];   
  41. }   
  42. @end  

OK, 在添加處加入以下來實(shí)例化該對象代碼:

  1. MyPageControl *pageControl = [[MyPageControl alloc] initWithFrame:CGRectMake(0,0, 200, 30)];   
  2. pageControl.backgroundColor = [UIColor clearColor];   
  3. pageControl.numberOfPages = 5;   
  4. pageControl.currentPage = 0;   
  5. [pageControl setImagePageStateNormal:[UIImage imageNamed:@"pageControlStateNormal.png"]];   
  6. [pageControl setImagePageStateHighlighted:[UIImage imageNamed:@"pageControlStateHighlighted.png"]];   
  7. [self.view addSubview:pageControl];   
  8. [pageControl release];  

小結(jié):UIPageControl實(shí)現(xiàn)自定義按鈕教程的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)對你能有所幫助!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-08-11 11:51:07

iPhone鍵盤

2011-08-18 17:32:55

iPhone開發(fā)Table Cell

2011-08-18 09:52:13

iPhone SDKUIPageContr

2011-08-18 09:44:33

iPhone SDK儀表控件UIDialView

2009-06-08 20:13:36

Eclipse自定義控

2024-09-11 14:46:48

C#旋轉(zhuǎn)按鈕

2010-04-29 17:14:47

組策略自定義安裝

2012-05-18 10:52:20

TitaniumAndroid模塊自定義View模塊

2021-11-23 15:06:42

Kubernetes 運(yùn)維開源

2013-12-26 17:08:36

Android開發(fā)Android應(yīng)用自定義Adapter顯

2022-10-25 15:12:24

自定義組件鴻蒙

2011-12-26 10:11:08

JSP

2009-06-24 15:13:36

自定義JSF組件

2009-09-07 22:00:15

LINQ自定義

2022-05-18 07:44:13

自定義菜單前端

2012-05-25 12:57:31

Windows Pho

2013-12-27 14:10:36

Android開發(fā)Android應(yīng)用Transform

2010-07-22 09:25:21

Symbian開發(fā)

2011-08-10 15:48:10

iPhone網(wǎng)絡(luò)

2011-06-15 09:24:36

Qt Widget Model
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號