UITabBarController(一)

        今天去面試,被問了一個問題:頁面切換的方式有哪幾種,UITabBar是如何切換頁面的。哎,因爲做了太多ipad的應用,就忘記了UITabBarController的使用,真是致命!!!UITabBarController在絕大多數iphone應用中都是要用的啊,起着整體頁面佈局的作用啊!有木有!!!

       巧合的是,突然在混亂的桌面上看到一個page文檔,寫着《分頁控制器》,既然如此就整理一下之前積累的分頁控制器的筆記吧~~


1、分頁控制器的基本概念

       和導航控制器一樣,都是用來管理視圖控制器的。不同的是,分頁控制器的管理的是幾個固定的視圖控制器,各個子控制器之間是並列的,可以任意切換。

       導航控制器裏面的VC是層次關係,出棧會被銷燬;分欄控制器裏面的VC是並列平等的,不會自動去銷燬裏面的VC.


2、創建一個UITabBarController

       A、創建幾個VC,給VC的title屬性賦值

       B、將這幾個VC放在一個NSArray中

       C、alloc一個UITabBarController,將NSArray對象賦值給分頁控制器對象的viewControllers屬性


3、分析一下分欄控制器的結構

      A、分欄控制管理着若干個VC,由viewControllers屬性來管理

      B、 每個分欄VC有一個tabBar屬性,相當於導航控制器的uitoolbar,UITabBar對象裏面會有items屬性來管理所有標籤VC的UITabItem對象。

      C、UITabBarItem是由每個視圖控制管理的,與導航控制器的UIBarButtonItem類似,是VC的屬性,默認根據vc的title屬性自動延遲創建。

另外,iphone上只能顯示5個VC,超過的會自動集中在一個“more”標籤裏面,寫代碼試試就知道了。


4、集成導航控制器和分欄控制器

     A、在分頁控制器中的某一個tab中使用Navigation控制器,最常見用法

     B、在導航控制器下的某些VC是分頁控制器,對分欄控制器的壓入和彈出和普通VC一樣,可能會有問題。


5、使用分頁控制器的delegate監聽點擊了哪一個vc

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewControlle


6、附上一篇使用xib創建UITabBarController的方法,好久沒用xib了啊,都忘了~~~~(>_<)~~~~ 

http://my.oschina.net/plumsoft/blog/49748



      

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章