1. 程式人生 > >UITabBarController的基本原理及使用(二)

UITabBarController的基本原理及使用(二)

tco second pre 我們 ini view 行修改 其它 ans

繼續我們的UITabBarController探索之旅,如果你錯過了之前的文章,給你一個傳送門,建議按順序閱讀。UITabBarController的基本原理及使用(一)

繼續第一回往下講,前面我們已經給tabbar添加了2個子控制器,我們再在這個基礎上添加2個子控制器,命名為ThirdViewController和FourthViewController。
技術分享圖片
創建好控制器記得添加到tabar控制器裏面。

添加tabar按鈕

    //設置tabbar按鈕標題
    firstVC.tabBarItem.title = @"微信";
    //設置tabbar按鈕圖片,圖片可以自行網上搜索,建議32*32大小。
    firstVC.tabBarItem.image = [UIImage imageNamed:@"微信"];
    //設置tabbar小紅點
    firstVC.tabBarItem.badgeValue = @"10";

設置好後運行一下程序。
技術分享圖片
是不是有點微信的樣子了?我們繼續把剩下3個子控制器按鈕的樣式進行設置。

    //設置tabbar按鈕標題
    firstVC.tabBarItem.title = @"微信";
    secondVC.tabBarItem.title = @"通訊錄";
    thirdVC.tabBarItem.title = @"發現";   
    fourthVC.tabBarItem.title = @"我";
    //設置tabbar按鈕圖片
    firstVC.tabBarItem.image = [UIImage imageNamed:@"微信"];
    secondVC.tabBarItem.image = [UIImage imageNamed:@"微信通訊錄"];
    thirdVC.tabBarItem.image = [UIImage imageNamed:@"微信發現"];
    fourthVC.tabBarItem.image = [UIImage imageNamed:@"微信通訊錄"];
    //設置tabbar小紅點
    firstVC.tabBarItem.badgeValue = @"10";

運行程序觀察效果。
技術分享圖片

tabbar的四個子控制器都有了自己的圖標樣式。如果你找不到素材源,我提供一個:素材網站
微信圖標選中時會將圖標渲染成綠色,而tabbar系統默認的是藍色,我們需要修改主是顏色。

    //修改主題顏色,註意是對tabbar控制器進行修改。
    tabBarViewController.tabBar.tintColor = [UIColor greenColor];

技術分享圖片
可以看到,選中的圖標變成了綠色,不過微信的好像是淺綠色,沒找到他們的配色方案,先用標準綠色代替了。另外,選中的圖標也可以設置成為其它圖標,大家可以自行嘗試。

//設置選中圖標時的圖像展示。
firstVC.tabBarItem.selectedImage = [UIImage imageNamed:@"微信通訊錄"];

Storyboard創建UITabBarController
下面,我們通過storyboard的方式來實現同樣的效果。
技術分享圖片
Main.storyboard默認的控制器是UIViewController,我們先刪除掉。選中Main.storyboard文件,在右側窗口選擇View Controller Scene,按鍵盤刪除鍵清除默認的控制器。
技術分享圖片
從右側窗口的控件欄拖入一個UITabBarController到主界面,並勾選is Initial View Controller。這個選項的意思是設置選中的控制器為程序的入口,任何程序必須有且只有一個入口。
回想一下之前我們是怎麽給tabbar添加子控制器的,我們通過代碼建立了4個控制器並使用addChildViewController方法將4個控制器設為tabbar的子控制器。在storyboard裏,我們不用寫一行代碼,一個“拖”字訣走天下。
技術分享圖片
在右側控件欄拖入4個ViewController。
技術分享圖片
然後選中TabBarController,按住Ctrl鍵的同時再按住鼠標左鍵,拖出一條線指向第一個ViewController,放開鼠標後會彈出一個窗口。
技術分享圖片
選擇圖中所示的view controllers,這就代表指向的ViewController已成為tabbar控制器的第一個子控制器。
技術分享圖片
照這個操作方法,將另外三個控制器設置為tabbar的子控制器。
技術分享圖片
我們可以看到tabbar控制器底部的導航欄已經自動出現了4個按鈕,再進行一些初始化設置。
技術分享圖片
選中一個子控制器的導航欄,右側窗口區會出現導航欄的部分可設置屬性,很熟悉對不對,title和image我們前面用代碼實現的時候就用到過,請你動手設置一下,看看是否和代碼擁有一樣的效果。

小結

  1. UITabBarController實際上就是一個管理控制器的控制器;
  2. 通過addChildViewController方法添加子控制器;
  3. 存在多個子控制器的情況下通過selectedIndex屬性設置哪個控制器為選擇並顯示的狀態。
  4. 導航欄默認高為64;
  5. tabbar控制器可以在子控制器之間方便的切換(前臺通過點擊導航按鈕,後臺使用selectIndex屬性)。

UITabBarController的基本原理及使用(二)