一、介绍
你使用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];
}