UIPageControl介绍

来源:互联网 发布:遵义网络教育报名 编辑:程序博客网 时间:2024/05/24 01:44

可以用UIPageControl类来创建和管理页面控件。一个页面对应一个水平显示的点。当用户点击页面控件移动到上一个或下一个页面,会发送UIControlEventValueChanged事件的委托处理。代理通过currentpage属性确定该页面的显示。


管理页面导航:

1.被选中的页(显示为白点的页码):

@property(nonatomic) NSInteger currentPage
默认第一页(0值表示第一页)会被选中。如果要选择其他页,可以设置currentPage 属性。页面索引从 0 开始,可能的范围是从0到numberOfPages减1:

myPageControl.currentPage =3;// 当前页数,第四页 
与UIScrollView结合使用:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView  {      // scrollView的偏移量,除以scrollView的宽度,得到当前页数      int pageNumber = scrollView.contentOffset.x / scrollView.frame.size.width;      //  将页数赋值给pageControl,使他跟随scrollView的滚动而变化      [self.page setCurrentPage:pageNumber];  }  

2.页面控件的页数:

@property(nonatomic) NSInteger numberOfPages
例如:

// 设置页数(圆点个数)  [pageControl setNumberOfPages:7];  

3.当只有一个页面的时候,页面控制器(一排小点)是否隐藏:

@property(nonatomic) BOOL hidesForSinglePage
默认情况下,即使只有一个页面,指示器也会显示进来。如果要在仅有一个页面的情况下隐藏指示器,可以将 hideForSinglePage 的值设为 YES。例如:

myPageControl.hidesForSinglePage=YES; 

更新页面显示:
4.设置页面控制器的颜色:

@property(nonatomic, retain) UIColor *pageIndicatorTintColor

5.设置页面控制器(当前页面)的颜色:

@property(nonatomic, retain) UIColor *currentPageIndicatorTintColor

6.延迟更新当前页:

@property(nonatomic) BOOL defersCurrentPageDisplay

如果你希望直到有时间执行完你的操作之后,才更新当前指示器当前指示页,可以将 updateCurrentPageDisplay 设为YES。这样的话你必须调用控件的 updateCurrentPageDisplay 来更新当前页。就是说直到调用updateCurrentPageDisplay页面控制器才会刷新。


7.更新页面,指示当前页:

- (void)updateCurrentPageDisplay

此方法更新页面指示器,如果defersCurrentPageDisplay设置为NO,便会忽略这个方法。


调整控制:

8.根据页面数量(需要显示的点数)返回接受者边界尺寸:

- (CGSize)sizeForNumberOfPages:(NSInteger)pageCount
返回要求显示的页数点的最小size。

0 0
原创粉丝点击