根據你須要執行的動做, 這裏有幾個方法: code
- -(id)initWithFrame:(CGRect)frame - UIView的指定初始化方法; 老是發送給UIView去初始化, 除非是從一個nib文件中加載的;
- -(id)initWithCoder:(NSCoder *)coder - 從nib文件中加載的時候發送此消息給UIView;
- -(void)awakeFromNib - 在全部的nib中的對象初始化和鏈接後將發送此消息; 只適用於從nib加載對象; 如要重寫,其中還必須調用父類的awakeFromNib;
- -(void)willMoveToSuperview:(UIView *)newSuperview - 在一個子視圖將要被添加到另外一個視圖的時候發送此消息;
- -(void)willMoveToWindow:(UIWindow *)newWindow - 在一個視圖(或者它的超視圖)將要被添加到window的時候發送;
- -(void)didMoveToSuperview - 把一個視圖插入到視圖層級以後發送此消息;
- -(void)didMoveToWindow - 當視圖得到它的window屬性集的時候發送此消息.
基本上, 你能選擇: 在你的視圖初始化期間執行的動做 (1 & 2), 在從nib文件中加載的時候 (3), 在插入到視圖層級以前 (4 & 5) 和 以後 (6 & 7). 對象