自定义View要做的事情
1.初始化:
- 对于在程序中创建的View,重写initWithFrame初始化。
- 对于在nib中载入的View,重写initWithCoder初始化。
- 在nib文件载入完成后,可以使用awakeFromNib处理其他初始化操作。awakeFromNib在initWithCoder之后执行。
注意:要使用[super initXXX]来调用父类的初始化函数。
2.重写dealloc析构。注意要使用[super dealloc].
3.重写drawRect实现绘制。
4.设置autoresizingMask来设置View大小改变时的自动操作。
5.对于subView
- 在初始化函数里创建。
- 设置autoresizingMask。
- 重写layoutSubviews实现布局。
6.使用addGestureRecognizer来添加手势识别对象,重写
- touchesBegan
- touchesMoved
- touchedEnded
- touchedCancelled
来处理手势事件。
使用MultipleTouchEnable来打开多重手势。
使用UserInteactiveEnable来打开手势识别。
使用BeginIgnoringInteractionEvent和EndIgnoringInteractiveEvent来忽略当前事件。
使用hitTest和pointInside来检测手势是否发生在当前View中。
7. 使用DrawRect实现打印。
1.初始化:
- 对于在程序中创建的View,重写initWithFrame初始化。
- 对于在nib中载入的View,重写initWithCoder初始化。
- 在nib文件载入完成后,可以使用awakeFromNib处理其他初始化操作。awakeFromNib在initWithCoder之后执行。
注意:要使用[super initXXX]来调用父类的初始化函数。
2.重写dealloc析构。注意要使用[super dealloc].
3.重写drawRect实现绘制。
4.设置autoresizingMask来设置View大小改变时的自动操作。
5.对于subView
- 在初始化函数里创建。
- 设置autoresizingMask。
- 重写layoutSubviews实现布局。
6.使用addGestureRecognizer来添加手势识别对象,重写
- touchesBegan
- touchesMoved
- touchedEnded
- touchedCancelled
来处理手势事件。
使用MultipleTouchEnable来打开多重手势。
使用UserInteactiveEnable来打开手势识别。
使用BeginIgnoringInteractionEvent和EndIgnoringInteractiveEvent来忽略当前事件。
使用hitTest和pointInside来检测手势是否发生在当前View中。
7. 使用DrawRect实现打印。