一、介紹
你使用UIPageControl類去創建和管理頁面控制器。一個頁面控制器顯示一個水平方向上的點。在應用文檔中,每一個響應一個頁面。當前視圖頁面由一個白色點暗示。當用戶按page control移動到下一頁或者上一頁時,控制器發送 UIControlEventValueChanged 事件由委託進行處理。委託然後能夠評估當前頁面屬性去決定顯示的頁面。
二、相關屬性和方法
1、管理頁面導航
@property(nonatomic)NSInteger currentPage 獲取或者設置當前頁
@property(nonatomic)NSInteger numberOfPages 設置頁面的數量
@property(nonatomic)BOOL hidesForSinglePage 當只有一頁時,設置是否隱藏頁面顯示器
2、更新頁面顯示
@property(nonatomic,strong) UIColor *pageIndicatorTintColor 頁面指示器顏色
@property(nonatomic,strong) UIColor *currentPageIndicatorTintColor 當前頁面指示器的顏色
@property(nonatomic)BOOL defersCurrentPageDisplay 是
- (void)updateCurrentPageDisplay
- (CGSize)sizeForNumberOfPages:(NSInteger)pageCount
三、實際例子
-(void)createPageControl{
_pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(10, _scrollView.frame.origin.y + scrollViewHeight, scrollViewWidth, 37)];
_pageControl.numberOfPages = 8;
[_pageControl addTarget:self
action:@selector(pageControlClicked:)
forControlEvents:UIControlEventValueChanged];
_pageControl.backgroundColor = [UIColor redColor];
[self.view addSubview:_pageControl];
}
#pragma mark - Custom event methods
- (void)pageControlClicked:(UIPageControl *)pageControl
{
CGFloat width = self.view.frame.size.width;
CGFloat scrollViewWidth = width - 20;
[_scrollView setContentOffset:CGPointMake(pageControl.currentPage * scrollViewWidth, 0) animated:YES];
}