1.將Main拖入Main的文件夾中
2.選擇Main 刪掉默認(rèn)的View Controller
3.拖入一個(gè) Tab Bar Controller
拖入后顯示
4.設(shè)置拖入的Tab Bar Controller為默認(rèn)啟動(dòng)控制器
5.默認(rèn)拖入Tab bar 是沒(méi)有上導(dǎo)航欄的伊佃,我們要給他們加上一個(gè)上導(dǎo)航欄
6.添加上導(dǎo)航欄效果:
7.我們下導(dǎo)航欄需要4個(gè)逊朽,需要再?gòu)?fù)制兩個(gè)
8.設(shè)置相同的控制器
鼠標(biāo)右鍵彈出
運(yùn)行看效果:
10.設(shè)置item的顯示冯吓,先選中item弟翘,雙擊item,修改文字欺栗,
11.導(dǎo)入圖標(biāo)饶深,圖標(biāo)可劃分文件夾進(jìn)行導(dǎo)入Assets.xcassets
12.設(shè)置item 圖標(biāo)和修改item名字為home
1.到Assets 中拷貝需要設(shè)置的默認(rèn)圖標(biāo)名,雙擊拷貝
2.設(shè)置itme名字摆屯,和輸入圖標(biāo)名,回車顯示
同理設(shè)置其他的item的名字和圖標(biāo),設(shè)置完后虐骑,運(yùn)行程序
13.設(shè)置item的圖標(biāo)的顯示顏色:
1.AppDelegate全局修改Tab Bar 的顏色
//應(yīng)用啟動(dòng)時(shí)准验,全局修改UITabBar的顏色,設(shè)置為橘色
UITabBar.appearance().tintColor = UIColor.orange
14.重新運(yùn)行程序
將下面的多個(gè)關(guān)系的Stroybord拆分:
選中需要拆分的部分廷没,選擇Editor糊饱,中的 Refactor to Storyboard
創(chuàng)建選擇文件夾的時(shí)候選擇Base.lproj,在最后一步拖到對(duì)應(yīng)文件夾中
第二種方式創(chuàng)建:
用代碼來(lái)創(chuàng)建關(guān)聯(lián):
,選中Refactor StoryBoard刪除
在Main文件夾添加一個(gè)UITabBarController
添加一個(gè)UITabBarController
將MainViewController 和MainStoryBoard 關(guān)聯(lián)
//抽象一個(gè)添加Storyboard的方法
private ?func ? addChildVc(storyName:String)
{
//1.通過(guò)StoryBoard獲取控制器,!解包
let childVc =UIStoryboard(name: storyName, bundle:nil).instantiateInitialViewController()!
//將childVc作為子控制器
addChildViewController(childVc)
}
運(yùn)行效果跟之前是一樣的
代碼優(yōu)化:
這里添加控制器颠黎,是要添加首頁(yè)另锋,直播,關(guān)注狭归,我的四個(gè)控制器夭坪,分別要調(diào)用
private fun? caddChildVc(storyName:String) 四次
addChildVc(storyName:"Home")
addChildVc(storyName:"Live")
addChildVc(storyName:"Follow")
addChildVc(storyName:"Profile")
這里可以抽象一下傳入一個(gè)數(shù)組:
//定義添加子控制器的方法,通過(guò)StoryBoard獲取控制器过椎,強(qiáng)制解包,傳入一個(gè)數(shù)組
private func addChilVC(storyNames : [String]){
forstoryNameinstoryNames{
let chilVC =UIStoryboard(name: storyName, bundle:nil).instantiateInitialViewController()!
//將chilVC作為子控制器
addChildViewController(chilVC)
} }
調(diào)用一次:
addChilVC(storyNames: ["Home","Live","Follow","Profile"])
運(yùn)行效果一樣: