1.继承UIControl,创建子类
2.重写init方法,在其中安排控件的样貌
3.编写方法追踪拦截触摸事件
4.产生相关事件以及视觉反馈效果
第三点的方法主要是指以下4个方法:
a. beginTrackingWithTouch:withEvent: 在控件范围内发生了触摸会调用该方法
b. continueTrackingWithTouch:withEvent: 如果触摸事件在控件内持续,系统会反复调用该方法
c. endTrackingWithTouch:withEvent: 处理事件结束前的最后一次触摸调用的方法
d. cancelTrackingWithEvent: 该方法用于处理触摸取消时的情况.
在重写这些方法时,记得在特定的地方加入 sendActionForControlEvents:方便在使用addTarget:action:controlEvents:时截取触摸并加入相应的处理