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