<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ?ViewController是iOS應用程序中重要的部分,是應用程序數據和視圖之間的重要橋梁,ViewController管理應用中的眾多視圖。iOS的SDK中提供很多原生ViewController,以支持標準的用戶界面,例如表視圖控制器(UITableViewController)、導航控制器(UINavigationController)、標簽欄控制器(UITabbarController)和iPad專有的UISplitViewController等。 按結構可以對iOS的所有ViewController分成兩類: 1、主要用于展示內容的ViewController,這種ViewController主要用于為用戶展示內容,并與用戶交互,如UITableViewController,UIViewController。 2、用于控制和顯示其他ViewController的ViewController。這種ViewController一般都是一個ViewController的容器。如UINavigationController,UITabbarController。它們都有一個屬性:viewControllers。其中UINavigationController表示一種Stack式結構,push一個ViewController或pop一次,因此后一個ViewController一般會依賴前一個ViewController。而UITabbarController表示一個Array結構,各個ViewController是并列的。 **ViewController使用** UIViewController可以使用兩種方式創建,1、xib方式,2、代碼方式 1)xib方式 Command+N 新建文件,選Cocoa Touch UIViewController subclass,SubClass of UIViewController,勾選with XIB for user interface。定義ViewController名字是MainViewController,最終生成MainViewController.h MainViewController.m MainViewController.xib三個文件。在AppDelegate.m文件的 didFinishLaunchingWithOptions方法中加載xib文件。 ~~~ self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; MainUIViewController *vc=[[MainUIViewController alloc]initWithNibName:@"MainUIViewController" bundle:nil]; self.window.rootViewController=vc; [self.window makeKeyAndVisible]; return YES; ~~~ 加載xib文件后,在xib文件拖拽幾個控件可看到效果。 2)代碼創建 Command+N 新建文件UIViewController文件,在AppDelegate.m文件的didFinishLaunchingWithOptions方法中使用。在UIViewController的loadView方法中使用代碼創建view。 ~~~ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; // MainUIViewController *vc=[[MainUIViewController alloc]initWithNibName:@"MainUIViewController" bundle:nil]; // self.window.rootViewController=vc; RootViewController *rc=[[RootViewController alloc] init]; self.window.rootViewController=rc; [self.window makeKeyAndVisible]; return YES; } ~~~ **創建View** ~~~ - (void)loadView{ [super loadView]; UIView *view=[[UIView alloc]initWithFrame:[UIScreen mainScreen].applicationFrame]; view.alpha=0.5; view.backgroundColor=[UIColor cyanColor]; self.view=view; } ~~~ **ViewController的生命周期** 前面寫了[iOS應用程序的生命周期](http://blog.csdn.net/xyz_lmn/article/details/8916752),這里會寫到ViewController的生命周期,這個更像Android的Activity的生命周期(見文章最后的圖)。ViewController生命周期會經歷初始化、加載視圖、銷毀視圖、生命結束等過程。 1)init方法 初始化ViewController本身。 2)loadView方法 當view需要被展示而它卻是nil時,viewController會調用該方法。 如果代碼維護View的話需要重寫此方法,使用xib維護View的話不用重寫。 3)viewDidLoad方法 執行完loadView后繼續執行viewDidLoad,loadView時還沒有view,而viewDidLoad時view已經創建好了。 4)viewDidUnload方法 當系統內存吃緊的時候會調用該方法,內存吃緊時,在iPhone OS 3.0之前didReceiveMemoryWarning是釋放無用內存的唯一方式,但是OS 3.0及以后viewDidUnload方法是更好的方式。 在該方法中將所有IBOutlet(無論是property還是實例變量)置為nil(系統release view時已經將其release掉了)。 在該方法中釋放其他與view有關的對象、其他在運行時創建(但非系統必須)的對象、在viewDidLoad中被創建的對象、緩存數據等。 一般認為viewDidUnload是viewDidLoad的鏡像,因為當view被重新請求時,viewDidLoad還會重新被執行。 5)dealloc 釋放其他資源或內存。 ![](https://box.kancloud.cn/2016-01-14_569725c2343fc.jpg) viewController的生命周期圖 ViewController加載view過程,見下圖(loadView) 1)loadView ![](https://box.kancloud.cn/2016-01-14_569725c24ce83.jpg) ViewController卸載View過程見(unLoadView) 2)unLoadView ![](https://box.kancloud.cn/2016-01-14_569725c26f0cd.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看