當使用aotoLayout約束UIView時,若切換橫豎屏幕時發(fā)生自動拉伸現(xiàn)象,此時可在UIView的以下方法中禁止。
禁止默認的拉伸處理,self.autoresizingMask = UIViewAutoresizingNone;
以下列出常用的幾個方法:
1、-(id)initWithFrame:(CGRect)frame- UIView的指定初始化方法; 總是發(fā)送給UIView去初始化, 除非是從一個nib文件中加載的;
2、-(id)initWithCoder:(NSCoder *)coder- 從nib文件中加載的時候發(fā)送此消息給UIView;
3、-(void)awakeFromNib- 在所有的nib中的對象初始化和連接后將發(fā)送此消息; 只適用于從nib加載對象; 如要重寫,其中還必須調(diào)用父類的awakeFromNib;
4、-(void)willMoveToSuperview:(UIView*)newSuperview- 在一個子視圖將要被添加到另一個視圖的時候發(fā)送此消息;
5、-(void)willMoveToWindow:(UIWindow*)newWindow- 在一個視圖(或者它的超視圖)將要被添加到window的時候發(fā)送;
6、-(void)didMoveToSuperview- 把一個視圖插入到視圖層級之后發(fā)送此消息;
7、-(void)didMoveToWindow- 當視圖獲得它的window屬性集的時候發(fā)送此消息.
基本上, 你能選擇: 在你的視圖初始化期間執(zhí)行的動作 (1 & 2), 在從nib文件中加載的時候 (3), 在插入到視圖層級之前 (4 & 5) 和 之后 (6 & 7).