溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時間:2020-06-22 04:41:10 來源:網(wǎng)絡(luò) 閱讀:1612 作者:windbadboy 欄目:移動開發(fā)

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

繼續(xù)第一回往下講,前面我們已經(jīng)給tabbar添加了2個子控制器,我們再在這個基礎(chǔ)上添加2個子控制器,命名為ThirdViewController和FourthViewController。
UITabBarController的基本原理及使用(二)
創(chuàng)建好控制器記得添加到tabar控制器里面。

添加tabar按鈕

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

設(shè)置好后運行一下程序。
UITabBarController的基本原理及使用(二)
是不是有點微信的樣子了?我們繼續(xù)把剩下3個子控制器按鈕的樣式進(jìn)行設(shè)置。

    //設(shè)置tabbar按鈕標(biāo)題
    firstVC.tabBarItem.title = @"微信";
    secondVC.tabBarItem.title = @"通訊錄";
    thirdVC.tabBarItem.title = @"發(fā)現(xiàn)";   
    fourthVC.tabBarItem.title = @"我";
    //設(shè)置tabbar按鈕圖片
    firstVC.tabBarItem.image = [UIImage imageNamed:@"微信"];
    secondVC.tabBarItem.image = [UIImage imageNamed:@"微信通訊錄"];
    thirdVC.tabBarItem.image = [UIImage imageNamed:@"微信發(fā)現(xiàn)"];
    fourthVC.tabBarItem.image = [UIImage imageNamed:@"微信通訊錄"];
    //設(shè)置tabbar小紅點
    firstVC.tabBarItem.badgeValue = @"10";

運行程序觀察效果。
UITabBarController的基本原理及使用(二)

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

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

UITabBarController的基本原理及使用(二)
可以看到,選中的圖標(biāo)變成了綠色,不過微信的好像是淺綠色,沒找到他們的配色方案,先用標(biāo)準(zhǔn)綠色代替了。另外,選中的圖標(biāo)也可以設(shè)置成為其它圖標(biāo),大家可以自行嘗試。

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

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

小結(jié)

  1. UITabBarController實際上就是一個管理控制器的控制器;
  2. 通過addChildViewController方法添加子控制器;
  3. 存在多個子控制器的情況下通過selectedIndex屬性設(shè)置哪個控制器為選擇并顯示的狀態(tài)。
  4. 導(dǎo)航欄默認(rèn)高為64;
  5. tabbar控制器可以在子控制器之間方便的切換(前臺通過點擊導(dǎo)航按鈕,后臺使用selectIndex屬性)。
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI