1.loadView
這是視圖控制器用來加載根視圖的方法;
如果需要將自定義的視圖作為根視圖,則不需要調用父類對該方法的實現([super loadView]);直接將自定義視圖通過self.view定義為視圖控制器的根視圖;
自定義視圖中的簡單響應事件也應由視圖控制器來進行處理,寫在此方法內;
2.viewDIdLoad
當視圖控制器的根視圖加載完成之后觸發該方法;(也就是loadView調用完成之后會立即調用該方法);
需要調用父類對該方法的實現;
該方法可以對根視圖進行簡單的一些設置,比如背景顏色等等;
3.viewWillAppear:(BOOL)animated; //當視圖控制器的根視圖將要顯示時觸發;
4.viewDidAppear:(BOOL)animated; //當視圖控制器的根視圖顯示時觸發;
5.viewWillDisappear:(BOOL)animated; //當視圖控制器的根視圖將要消失時觸發;
6.viewDidDisappear:(BOOL)animated; //當視圖控制器的根視圖消失時觸發;
7.didReceiveMemoryWarning;//當收到內存警告時觸發, 此時需要釋放掉暫時不使用的資源,以及可重建對象;
1 - (void)didReceiveMemoryWarning { 2 [super didReceiveMemoryWarning]; 3 if ([self isViewLoaded] && !self.view.window) { 4 self.view = nil; 5 } 6 } 7 //[self isViewLoaded] 看視圖是否已經加載了 8 //self.view.window 看根視圖有沒有在window上展示
#pragma mark -- 和屏幕旋轉相關的方法
8.設置當設備發生旋轉時,當前界面是否發生變化,支持旋轉
- (BOOL)shouldAutorotate {
return YES;
}
9.設置當前界面支持的旋轉的方向. 必須要依賴於當前應用程序支持的方向;
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskAll;//支持所有方向
}
10.當屏幕旋轉時觸發,iOS8之后有效
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
//size 表示旋轉之后的屏幕的尺寸;
NSLog(@"%@",NSStringFromCGSize(size)); //輸出此時的屏幕尺寸;
}
關於調用父類的方法:
//父類對該方法的實現,可以用來幫助我們對視圖進行一些初始化(有些初始化工作我們是不知道的,也看不到,所以一定要調用);
//當重寫從父類繼承過來的方法時,如果不知道父類對該方法是如何實現的,記得要使用super調用該方法的實現;
關於方法中的[super xxx]調用父類的方法,如果不需要額外添加內容,有參數的直接return YES就行了.
//補充一個:
-(instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil;
這是視圖控制器的指定初始化方法,無論調用哪個方法,改初始化方法都會被觸發;
-(instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { //完成本類獨有的初始化操作. } return self; }