UIPageControl
页面控制器(配合UIScrollView使用),其父类是UIControl 。可以像button一样添加事件,事件触发使用UIControlEventsValueChanged
。通常在 Scrollview 滚动的时候修改 pageControl 的 currentPage 属性。
/*UIPageControl:初始化*/
UIPageControl *pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(self.view.frame.size.width, 700, 80, 20)];
/*UIPageControl常用属性*/
numberOfPages:设置页数
pageControl.numberOfPages = 4;
pageControl.numberOfPages=[[self.scrollView subviews] count];//结合UIScrollView使用
currentPage:设置当前页数
pageControl.currentPage = 0;
pageIndicatorTintColor:改变不被选中的颜色
pageControl.pageIndicatorTintColor = [UIColor orangeColor];
currentPageIndicatorTintColor:改变选中的颜色
pageControl.currentPageIndicatorTintColor = [UIColor purpleColor];
添加触发事件
[pageControl addTarget:self action:@selector(pageAction:) forControlEvents:UIControlEventValueChanged];
[self.window addSubview:pageControl];
/*UIPageControl的方法使用*/
回调方法:
- (void)pageAction: (UIPageControl *)sender
{
//根据当前的页数,使得scrollView也滑动到对应的子视图 通过设置scrollView的contentOffSet来实现(改变contentOffSet实际上就是改变scrollView的bounds)
int page = (int)sender.currentPage;//得到当前页数
//根据当前页数来计算偏移量
//得到scrollView
UIScrollView *scrollView = (UIScrollView *)[self.view viewWithTag:1000];//scrollViews的tag设置,这里设置为1000
//设置scrollView的偏移量
[scrollView setContentOffset:CGPointMake(page * CGRectGetWidth(self.view.frame), 0) animated:YES];
}
更新控制器当前页码
- (void)updateCurrentPageDisplay;
网友评论