在UIKit框架中只有一個根製圖控制器。視圖控制器用來管理界面和處理界面的類對象,程序啓動前必須建立根視圖控制器。全部視圖控制器都須要自定義完成,必須繼承於UIViewController 實現。xcode新建立的項目默認是經過info.plist 文件配置 main.storyboard 文件自動建立根視圖ViewController。繼承於UIView
#import "AppDeletegate.h" ...code - (void) didFinishLuanchingWithOptions:(NSDictionary *)luanchOptions { // 設置屏幕寬高 self.window = [[UIWindow alloc] initWithFrame: [UIScreen mainScreen]]; // 設置視圖控制器爲window根節點 self.window.rootViewController = [[UIViewController alloc] init]; } ...code
#import "ViewController.h" @implementation ViewController // 當視圖控制器第一次被加載顯示視圖 - (void) viewDidLoad{ [super viewDidLoad]; //建立子視圖 UIView *view = [[UIView alloc] init]; view.frame = CGReactMake(0, 0, 300, 45); view.backgroundColor = [UIColor greenColor]; // 加入視圖 [self.view addSubView:view]; } @end 添加子視圖控制器 #import "ViewController.h" @implementation ViewController // 當視圖控制器第一次被加載顯示視圖 - (void) viewDidLoad{ [super viewDidLoad]; self.view.backgroundColor = [UIColor blueColor]; } // 當屏幕被點擊時候觸發 -(void)touchesBegan:(NNSet<UITouch *> *)touches withEvent:(UIEvent *)event{ UIViewController *sonViewController = [[UIViewController alloc] init]; [self presentViewController: sonViewController animate:YES complation:nil]; } @end
(void)touchesBegan:(NNSet<UITouch *> *)touches withEvent:(UIEvent *)event
當屏幕被點擊時候觸發。(void)presentViewController:(UIViewController *) animate:(BOOL) completion:(callbacl)
顯示一個視圖控制器到屏幕上,參數1:UIViewController 新的視圖控制器對象,參數2:animate 是否開啓動畫效果,參數3:completion: 執行完成後的回調函數,不須要傳nil便可。(void)dismissViewControllerAniamted:(BOOL) completion:(callback)
使當前視圖控制器在屏幕消失,參數1:animte 是否開啓動畫效果,參數2:completion 執行完成後的回調函數,不須要傳nil便可。(void)removeFromSuperView
將當前視圖實例從父級刪除(void)bringSubViewToFront: UIView*
將一個子視圖調整到最頂級繪製(void)sendSubViewToBack: UIView*
將一個子視圖調整到最低層繪製#### 生命鉤子xcode
(void)viewDidLoad
加載內存時候觸發, 一般用於初始化子節點佈局和資源使用(void)viewWillAppear:(BOOL)animated
即將顯示時候觸發(void)viewDIdLayoutSubviews
佈局子組件完成時候觸發(void)viewWillLayoutSubviews
當渲染時候佈局子組件觸發app
(void)viewDidAppear:(BOOL)animated
已經顯示時觸發框架
(void)viewWillDisappear:(BOOL)animated
即將消失時候觸發(void)viewDidDisappear:(BOOL)animated
消失時候觸發(viod) didReceiveMemoryWarning
當內存不足時候觸發