UIKit框架 -09.UIPageControl

1.概述

  • 很多软件都会存在在一个UIScrollView中有多个分页视图的情况,类是于系统桌面有不同页的视图,这时候苹果为了用户方便管理和标记当前视图,在UIKit框架中提供了这么一个控件来实现这个功能,即UIPageControl
  • UIPageControl是分页控制控件,用来标示当前界面的视图总数和当前显示视图

2.基本使用

- (void)viewDidLoad {
    [super viewDidLoad];
  // 1.创建PageControl,添加到视图中
    UIPageControl *pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(250, 200, 100, 37)];
    // 1.1设置pageControl的总页数和当前标记界面
    pageControl.numberOfPages = 5;
    pageControl.currentPage = 2;
    // 1.2设置pageControl的颜色属性
    // 设置当前页面标记颜色和其他页面的标记颜色
    pageControl.pageIndicatorTintColor = [UIColor purpleColor];
    pageControl.currentPageIndicatorTintColor = [UIColor yellowColor];

    // 2.添加到视图
    [self.view addSubview:pageControl];

    // 3.添加监听事件
    // 由于UIPageControl继承自UIControl,所以我们也可以像监听按钮一样给UIPageControl添加监听事件
    [pageControl addTarget:self action:@selector(pageControlClick:) forControlEvents:UIControlEventValueChanged];
}    
  //监听方法实现
-(IBAction)pageControlClick:(UIPageControl *)sender{
      NSLog(@"%lu",sender.currentPage);
}

3.通过KVC自定义UIPageControl

  • 由于pageControl的样式只有默认值为小圆点,我们有时可能需要自定义样式,在Xcode7以前我们可以在声明文件中找到UIPageControl的两个私有属性,Xcode7中由于苹果加强了封装性,看不到这些私有属性了

    UIImage* _currentPageImage;
    UIImage* _pageImage;

  • 通过设置这两个属性可以自定义样式,但是对象的私有属性我们不能直接访问,这个时候我们可以通过KVC机制来访问和设置私有属性的值

// 设置当前页标的图片
[pageControl setValue:[UIImage imageNamed:@"current"] forKeyPath:@"_currentPageImage"];
// 设置其他页标的图片
    [pageControl setValue:[UIImage imageNamed:@"other"] forKeyPath:@"_pageImage"];
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值