你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS開辟之視圖切換

iOS開辟之視圖切換

編輯:IOS開發綜合

1、視圖切換

  1. UITabBarController (分頁掌握器) - 平行治理視圖
  2. UINavigationController (導航掌握器) - 壓棧出棧治理視圖
  3. 模態窗口
  4. 2、UITabBarController分頁掌握器

    1. UITabBarController是為了應用 頁簽切換視圖 設計的掌握器
    2. 該掌握器有一個UITabBar控件,用戶經由過程點擊UITabBar停止視圖切換
    3. UITabBarController自己會不顯示任何視圖,它只是一個 容器掌握器
    4. 為了削減視圖間的耦合,一切UITabBarController的子視圖的相干題目、圖標等信息由子視圖本身掌握
    5. 留意事項:

      1. UITabBarController會一次性初始化一切子掌握器,但默許只加載第一個掌握器視圖
      2. 每一個視圖掌握器都有一個tabBarController屬性,用它來拜訪地點的UITabBarController
      3. 每一個視圖掌握器都有一個tabBarItem屬性,用它來掌握UITabBarController的UITabBar上的顯示信息
      4. tarBarItem的image屬性必需是png格局,而且翻開alpha通道 ,不然沒法正常顯示
      5. UITabBarController平日是作為全部法式的rootViewController的,我們須要在法式的Window顯示之前就創立好它。
      6. 詳細步調以下:

        1. 創立一個UITabBarController對象
        2. 創立UITabBarController中每個tab對應的要顯示的對象viewController
        3. 經由過程UITabBarController的viewControllers屬性將要顯示的一切viewController添加到UITabBarController中
        4. 經由過程設置UITabBarController對象為Window.rootViewController,然後顯示Window

        5. //a.初始化一個tabBar掌握器
          UITabBarController *tarbarVC = [[UITabBarController alloc] init];
          //設置掌握器為Window的根掌握器
          self.window.rootViewController = tarbarVC;
          //b.創立子掌握器
          UIViewController *c1 = [[UIViewController alloc] init];
          c1.view.backgroundColor = [UIColor grayColor];
          c1.view.backgroundColor=[UIColor greenColor];
          c1.tabBarItem.title = @"新聞";
          c1.tabBarItem.image = [UIImage imageNamed:@"tab_recent_nor"];
          c1.tabBarItem.badgeValue = @"123";
          UIViewController *c2 = [[UIViewController alloc] init];
          c2.view.backgroundColor = [UIColor brownColor];
          c2.tabBarItem.title = @"接洽人";
          c2.tabBarItem.image = [UIImage imageNamed:@"tab_buddy_nor"];
          UIViewController *c3 = [[UIViewController alloc] init];
          c3.tabBarItem.title = @"靜態";
          c3.tabBarItem.image = [UIImage imageNamed:@"tab_qworld_nor"];
          UIViewController *c4 = [[UIViewController alloc] init];
          c4.tabBarItem.title = @"設置";
          c4.tabBarItem.image = [UIImage imageNamed:@"tab_me_nor"];
          //c.添加子掌握器到ITabBarController中
          tarbarVC.viewControllers = @[c1,c2,c3,c4];
          //d.設置Window為主窗口並顯示出來
          [self.window makeKeyAndVisible];

          UITabBarControllerDelegate署理


          #pragma mark 該辦法用於掌握TabBarItem能不克不及選中
          - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController;

          轉變UITabBarController以後顯示視圖的辦法

          1. 轉變selectedIndex屬性
          2. 轉變selectedViewController屬性
          3. 轉變viewControllers屬性
          4. 3、UINavigationController導航掌握器

            1. UINavigationController中的子掌握器以棧的情勢存儲,只要在棧頂部的掌握器能力顯示在界面上
            2. 壓棧pushController,出棧popController
            3. UINavigationController必需有一個根掌握器rootViewController
            4. 子掌握器經由過程navigationController屬性拜訪UINavigationController
            5. 在棧中的子掌握器都有一個導航欄navigationBar,經由過程navigationItem去掌握

            6. UINavigationItem屬於MVC中的Model,封裝了要顯示在UINavigationBar上的數據:

              title: 題目
              titleView :題目視圖
              leftBarButtonItem :左按鈕
              rightBarButtonItem :右按鈕

              下一個子視圖左邊前往按鈕leftBarButtonItem的題目優先級:

              1. 導航欄前往按鈕backBarButtonItem的題目
              2. 導航欄navigationItem的題目
              3. 視圖掌握器的題目
              4. UINavigationController經常使用的重要辦法:


                #pragma mark 壓棧,把掌握器壓入導航掌握器子掌握器棧中
                - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated;
                #pragma mark 出棧,把導航掌握器子掌握器棧的棧頂彈出
                - (void)popViewControllerAnimated:(BOOL)animated;
                #pragma mark 屢次出棧直到棧頂為指定掌握器
                - (void)popToViewController:(UIViewController *)viewController animated:(BOOL)animated;
                #pragma mark 屢次出棧直到棧頂為根掌握器
                - (void)popToRootViewControllerAnimated:(BOOL)animated;

                4、模態窗口


                #pragma mark 從下方彈出指定的視圖掌握器,付與模態,即以後視圖封閉前,其他視圖上的內容沒法操作
                - (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion;
                #pragma mark 封閉模態窗口,該辦法在模態窗口中挪用
                - (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion;

                【iOS開辟之視圖切換】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved