IOS开发UI基础UIPageControl的属性

时间:2021-11-04 13:42:33

UIPageControl 常见属性:

•    numberOfPages // 设置有多少页 默认为0

[pageControl setNumberOfPages:kImageCount];

•    currentPage  // 设置当前页
         [pageControl setCurrentPage:0];

•    pageIndicatorTintColor // 设置页码指示器颜色
        [pageControl setPageIndicatorTintColor:[UIColor blackColor]];

•    currentPageIndicatorTintColor // 设置当前页码指示器颜色
         [pageControl setCurrentPageIndicatorTintColor:[UIColor redColor]];

•    添加分页控件的监听事件(监听值改变事件)
         [pageControl addTarget:self action:@selector(pageChanged:) forControlEvents:UIControlEventValueChanged];

还有值得注意的就是: UIPageControl就算没有设置尺寸,里面的内容还是照常显示的

有时候我们拿到别人的app 资源 会发现 UIPageControl 的指示器颜色使用两个图片资源  这个时候我们应该怎么做呢?

这个时候你可能会使用这种方式设置:

pageControl.currentPageIndicatorTintColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"indicator"]];

但是这种方式设置会发现会出现锯齿现象 所以最后发现 可以通过以下连个属性设置 上面的两种状态下的图片:

两个私有属性: pageImage  和 currentPageImage

所以我们可以通过KVC 设置内部的圆点图片

[pageControl setValue:[UIImage imageNamed:@"normal"] forKeyPath:@"pageImage"];

[pageControl setValue:[UIImage imageNamed:@"selected"] forKeyPath:@"currentPageImage"];