iOS:分頁控件UIPageControl的使用


分頁控件:UIPageControl

 
功能:通常搭配滾動視圖一起使用,設置pagingEnabled=YES即可,UIScrollView會被分割成多個獨立頁面,用戶的滾動體驗則變成了頁面翻轉,一般會配合UIPageControl增強分頁效果,顯示滾動視圖的頁碼。

 

屬性:

@property(nonatomic) NSInteger numberOfPages;  //總頁數

@property(nonatomic) NSInteger currentPage;      //當前的頁碼

@property(nonatomic) BOOL hidesForSinglePage;  //當只有一頁時,是否要隱藏   

@property(nonatomic) BOOL defersCurrentPageDisplay;   //是否推遲顯示當前頁碼

@property(nonatomic,retain) UIColor *pageIndicatorTintColor; //設置控制器頁碼點的顏色

@property(nonatomic,retain) UIColor *currentPageIndicatorTintColor; //設置控制器當前所在頁碼點的顏色

 

方法:

- (void)updateCurrentPageDisplay;     //更新當前頁碼             

- (CGSize)sizeForNumberOfPages:(NSInteger)pageCount;  //一定數量頁碼的size大小

 

監聽UIPageControl的頁面改變:

// 添加監聽器

[pageControl addTarget:self action:@selector(pageChange:) 

forControlEvents:UIControlEventValueChanged];

// 監聽方法

- (void)pageChange:(UIPageControl *)pageControl 

{  

}

 

具體舉例如下:

  在AppDelegate類的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {}方法中添加添加代碼為:

//1.初始化窗體和設置背景顏色

    //初始化window實例
    self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
    
    //設置背景色
    self.window.backgroundColor = [UIColor whiteColor];

//2.初始化分頁控制器實例

    //創建分頁控制器實例
    UIPageControl *pageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(0, 100, 375, 40)];

//3.設置總分頁數

    //設置總頁碼數
    pageControl.numberOfPages = 9;

//4.設置當前頁碼數

    //設置當前頁碼
    pageControl.currentPage = 2;

//5.設置所有頁碼點顏色

    //設置所有頁碼點的顏色(未選中)
    pageControl.pageIndicatorTintColor = [UIColor redColor];

//6.設置當前頁碼點顏色

    //設置當前頁碼點顏色(選中)
    pageControl.currentPageIndicatorTintColor = [UIColor greenColor];

//7.設置分頁控件背景顏色

    //設置該實例背景顏色
    pageControl.backgroundColor = [UIColor grayColor];

//8.添加分控控件事件

    //添加分頁控件事件
    [pageControl addTarget:self action:@selector(pageControlChanged:) forControlEvents:UIControlEventValueChanged];

//9.將分頁控件添加到窗體中

    //添加控件到窗體中
    [self.window addSubview:pageControl];

//10.在屏幕顯示對象

    //發送的用戶的請求,使用對象的主窗口顯示到屏幕的最前端
    [self.window makeKeyAndVisible];

分頁控件事件觸發:

#pragma mark -pageControlChanged:顯示當前頁數

-(void)pageControlChanged:(UIPageControl*)sender
{
    NSLog(@"currentPage:%ld",sender.currentPage);
}

 

演示結果如下:

沒有觸發分頁控件事件時,頁碼點截圖:

觸發分頁控件事件時,頁碼點截圖和輸出結果為:

2015-09-30 20:51:57.848 分頁控件UIPageControl[4403:251770] currentPage:3

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM