What to do with custom View
1. Initialization:
-For the View created in the program, override initWithFrame initialization.
-For views loaded in nib, override initWithCoder initialization.
-After the nib file is loaded, you can use awakeFromNib to process other initialization operations. AwakeFromNib is executed after initWithCoder.
Note: You must use [super initXXX] to call the initialization function of the parent class.
2. Rewrite the dealloc destructor. Use [super dealloc].
3. Override drawRect to implement painting.
4. Set autoresizingMask to set automatic operations when the View Size changes.
5. For subView
-Create in the initialization function.
-Set autoresizingMask.
-Rewrite layoutSubviews to implement layout.
6. Use addGestureRecognizer to add and override a gesture recognition object
-TouchesBegan
-TouchesMoved
-TouchedEnded
-TouchedCancelled
To process gesture events.
Use MultipleTouchEnable to open multiple gestures.
Use UserInteactiveEnable to enable gesture recognition.
Use BeginIgnoringInteractionEvent and EndIgnoringInteractiveEvent to ignore the current event.
Use hitTest and pointInside to check whether the gesture occurs in the current View.
7. Use DrawRect for printing.
From likendsl's column