免费开源的iOS开发学习平台

UIPageControl详解:1-UIPageControl介绍

UIPageControl是继承于UIControl的一个iOS系统UI控件,可以为开发者提供分页显示以及控制的功能。

UIPageControl简介

UIPageControl是一个比较简单的控件,该控件由N个小圆点组成,每个圆点可以表示一个页面,当前页面以高亮的圆点显示。默认情况下,UIPageControl可以与用户交互,并且监测当前值的变化(UIControlEventValueChanged),继而调用自定义的方法来实现界面的切换。我们在许多常用App中的图片轮播器中都能见到它的身影。

UIPageControl属性和方法介绍

UIPageControl类中提供了有关UIPageControl样式定制的方法和属性,如下的属性和方法比较常用。

  • 设置总页数
@property(nonatomic) NSInteger numberOfPages;  
  • 设置当前页,当前页的颜色会突出显示
@property(nonatomic) NSInteger currentPage;
  • 设置圆点普通状态时的颜色
@property(nullable, nonatomic,strong) UIColor *pageIndicatorTintColor;
  • 设置圆点为高亮时的颜色
@property(nullable, nonatomic,strong) UIColor *currentPageIndicatorTintColor;
  • 返回UIPageControl控件的大小
- (CGSize)sizeForNumberOfPages:(NSInteger)pageCount; 

点击UIPageControl发生Value Changed事件

由于UIPageControl继承于UIControl,因此它可以继承UIControl的属性和方法,当用户单击UIPageContol控件的时候,会触发UIControlEventValueChanged事件,然后我们就可以调用相对应的方法进行进一步的逻辑处理。例如,下方的代码中,当修改pageControl对象的值时,会调用updateDisplay:方法。

[self.pageControl addTarget:self action:@selector(updateDisplay:) forControlEvents:UIControlEventValueChanged];
//实现change方法
- (void) updateDisplay:(UIPageControl *) pageControl{
    NSLog(@"更新界面显示");
}