您好,登錄后才能下訂單哦!
繼續我們的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我們前面用代碼實現的時候就用到過,請你動手設置一下,看看是否和代碼擁有一樣的效果。
小結
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。