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