IOS系列——Tabbarcontroller的含義

之前寫了一篇簡單的文章,是開始使用Tabbar的,這一篇文章還是講一些簡單的東西,不過涉及到一些概念

在使用tabbar的時候,我們必須瞭解UITabBarController結構與其各個相關類的關係(TabBarController、TabBar、TabBarItem及ViewController)

1.TabBarItem:是一個雙態的Button(選中和未選中),行爲和CheckBox、RadioButton類似。

2.TabBar:是TabBarItem的容器,負責TabBarItem的排布和互斥,保證同時只有一個Item爲選中態。(TabBar就是下圖中黑色的那一條,Item是黑色當中的一個單元)

3.TabBarController: 包含了TabBar,並管理這一個ViewController的棧,在TabBar上的按鈕點擊時對棧上的ViewController位置進行相應的調整,從而保持TabBar和ViewController棧之間的一致性。

4.ViewController :這個和TabBarController沒有任何的直接關係,他是一個單獨的視圖(view),只不過在和TabBarController結合使用的時候,是通過TabBar中得TabBarItem來管理這個ViewController。

首先借助官方文檔的一張圖來看

最右邊的那張圖,就是整個頁面(看標註的厚度)就是我們通常所說的Tabbarcontroller

最左邊的那張圖,就是我們所說的tabbar(在這裏包含了四個TabBarItem)

中間的那張圖,就是自定義內容,也就是我們需要通過TabBarItem老關聯並且控制的ViewController。

我們可以通過下面的這已小段代碼來了解

    UITabBar *tab = [[UITabBar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
    [self.view addSubview:tab];
    
    UITabBarItem * tabBarItem1 = [[UITabBarItem alloc] initWithTitle:@"1" image:[UIImage imageNamed:@"ic_reset.png"] tag:0];
    UITabBarItem * tabBarItem2 = [[UITabBarItem alloc] initWithTitle:@"2" image:nil tag:1];
    UITabBarItem * tabBarItem3 = [[UITabBarItem alloc] initWithTitle:@"3" image:nil tag:2];
    UITabBarItem * tabBarItem4 = [[UITabBarItem alloc] initWithTitle:@"4" image:nil tag:3];
    NSArray *tabBarItemArray = [[NSArray alloc] initWithObjects: tabBarItem1, tabBarItem2, tabBarItem3, tabBarItem4,nil];
    [tab setItems: tabBarItemArray];
    
    [tabBarItem1 release];
    [tabBarItem2 release];
    [tabBarItem3 release];
    [tabBarItem4 release];
    [tabBarItemArray release];
    [tab release];
就得到了這樣的一個效果


發佈了59 篇原創文章 · 獲贊 3 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章