【原】自定义UIPageControl的圆点

简介:

在下面的两种情况下会导致圆点贴图刷新:

1.用户调用setCurrentPage:(NSInteger)currentPage时
所以重载这个函数便可拦截
2.点击圆点矩形区域时
[转载]UIPageControl <wbr>圆点颜色的改变
 
 
这说明,我们可以通过重载setCurrentPage方法来进行拦截
源码如下:
复制代码
1 MyPageControl.h:
2 #import <Foundation/Foundation.h>
3 @interface MyPageControl : UIPageControl
4 {
5     UIImage* activeImage;
6     UIImage* inactiveImage;
7 }
8 @end
复制代码
复制代码
 1 MyPageControl.m:
 2 #import "MyPageControl.h"
 3 @implementation GrayPageControl
 4 
 5 -(id) initWithFrame:(CGRect)frame
 6 {
 7 self = [super initWithFrame:frame];
 8 activeImage = [[UIImage imageNamed:@"RedPoint.png"] retain];
 9     inactiveImage = [[UIImage imageNamed:@"BluePoint.png"] retain];
10     return self;
11 }
12 -(void) updateDots
13 {
14     for (int i = 0; i < [self.subviews count]; i++)
15     {
16         UIImageView* dot = [self.subviews objectAtIndex:i];
17         if (i == self.currentPage) dot.image = activeImage;
18         else dot.image = inactiveImage;
19     }
20 }
21 -(void) setCurrentPage:(NSInteger)page
22 {
23     [super setCurrentPage:page];
24     [self updateDots];
25 }
26 @end
复制代码

调用:

pageControl = [[GrayPageControl alloc] initWithFrame:CGRectMake(0.0, 460.0 - (96 + 48) / 2, 320.0, 48.0 /2)];
pageControl.userInteractionEnabled = NO;

就是这么简单

本文转自编程小翁博客园博客,原文链接:http://www.cnblogs.com/wengzilin/p/3210331.html,如需转载请自行联系原作者

相关文章
|
6月前
|
容器
Element UI 自定义环形进度条里的内容
Element UI 自定义环形进度条里的内容
246 2
|
C# 图形学
Winform控件优化之Paint事件实现圆角组件(提取绘制圆角的扩展方法)
Paint事件方法中实现圆角控件不要通过事件参数`e.ClipRectangle`获取控件区域范围,原因见最后介绍;注意设置控件背景透明(参见[Winform控件优化之背景透明那些事2...
869 0
Winform控件优化之Paint事件实现圆角组件(提取绘制圆角的扩展方法)
Winform动态设置TableLayoutPanel等宽高
转自博客: http://blog.csdn.net/langyuewu/article/details/38865423最近有个项目要修改,看完后果断决定重构,里面很多不规范的地方,布局大部分都是计算出来的,但是基本没有采用布局控件,不能自适应,其中有类似九宫格的布局方式,放在WPF,那真是一个控件秒秒钟能搞定的事情,好多年没做winform了,拿回来还是很容易上手。
1626 0
C#编程-73:panel控件中显示子窗体
C#编程-73:panel控件中显示子窗体
207 0
splitcontainer控件固定Panel的大小
splitcontainer控件固定Panel的大小
269 0
tablayout支持改变选中文字大小,支持左右滑动,支持viewpager,支持三角可移动指示器
TabLayout [简书地址] (https://www.jianshu.com/p/2c3f868266e8) 基于大神的FlycoTabLayout 传送地址和基本用法 用法和属性和这个库一样 效果图如下 Gif_20180828_142709.
2499 0
2-VIII--ViewPager滑动监听与自定义滑动特效
零、前言 [1]. 使用上文项目:1-VIII--ViewPager的基本使用 [2].对ViewPager的addOnPageChangeListener三个回调方法分析 [3].
1292 0
|
前端开发 Android开发 API
自定义控件详解(六):Paint 画笔MaskFilter过滤
首先看一个API:setMaskFilter(MaskFilter maskfilter): 设置MaskFilter,可以用不同的MaskFilter实现滤镜的效果,如滤化,立体等。 以下有两个MaskFilter的子类可供选择: BlurMaskFilter:指定了一个模糊的样式和半径来处理Paint的边缘。
1058 0