分頁控件是一種用來取代導(dǎo)航欄的可見指示器,方便手勢直接翻頁,最典型的應(yīng)用便是iPhone的主屏幕,當(dāng)圖標過多會自動增加頁面,在屏幕底部你會看到原點,用來只是當(dāng)前頁面,并且會隨著翻頁自動更新。
一、創(chuàng)建
復(fù)制代碼代碼如下:
UIPageControl* myPageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(0.0, 400.0, 320.0, 0.0)];
二、設(shè)置屬性
頁面數(shù)目
復(fù)制代碼代碼如下:
myPageControl.numberOfPages =5;
默認第一頁會被選中。如果要選擇其他頁,可以設(shè)置currentPage 屬性。頁面索引從 0 開始:
復(fù)制代碼代碼如下:
myPageControl.currentPage =3;// 當(dāng)前頁數(shù),第四頁
默認情況下,即使只有一個頁面,指示器也會顯示進來。如果要在僅有一個頁面的情況下隱藏指示器,可以將 hideForSinglePage 的值設(shè)為 YES。
復(fù)制代碼代碼如下:
myPageControl.hidesForSinglePage=YES;
如果你希望直到有時間執(zhí)行完你的操作之后,才更新當(dāng)前指示器當(dāng)前指示頁,可以將 defersCurrentPageDisPlay 設(shè)為YES。這樣的話你必須調(diào)用控件的 updateCurentPageDisPlay 來更新當(dāng)前頁:
復(fù)制代碼代碼如下:
myPageControl.defersCurrentPageDisplay = YES;
[myPageControl updateCurrentPageDisplay];
三、顯示控件
復(fù)制代碼代碼如下:
[self.view addSubview:myPageControl];
四、通知
當(dāng)用戶點觸分頁控件時,會產(chǎn)生一個 UIControlEventVakueChanged 事件。你可以用UIControl 類的 addTarget 方法,為其指定一個動作:
復(fù)制代碼代碼如下:
-(void)pageChanged:(id)sender{
UIPageControl* control = (UIPageControl*)sender;
NSInteger page = control.currentPage;
//添加你要處理的代碼
}
[myPageControl addTarget:self action:@selector(pageChanged:) forControlEvents:UIControlEventValueChanged];
五、常用屬性一覽
復(fù)制代碼代碼如下:
//創(chuàng)建UIPageControl
UIPageControl * page = [[UIPageControl alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height-50, self.view.bounds.size.width, 50)];
//設(shè)置背景顏色
page.backgroundColor = [UIColor clearColor];
//設(shè)置小圓圈的個數(shù)
page.numberOfPages = 15;
//設(shè)置 小圓圈的顏色
page.pageIndicatorTintColor = [UIColor orangeColor];
//設(shè)置當(dāng)前頁的小圓圈顏色
page.currentPageIndicatorTintColor = [UIColor redColor];
//獲取/更改當(dāng)前頁
page.currentPage = 1;
//增加點擊事件
[page addTarget:self action:@selector(pageClick:) forControlEvents:UIControlEventValueChanged];



















