天下武功苏章,唯快不破!
本文主要介紹利用Storyboard快速構(gòu)建簡(jiǎn)單的三個(gè)item的Tabbar構(gòu)建
在Main.Storyboard中拖入一個(gè)TabbarController茶袒,默認(rèn)會(huì)有兩個(gè)子控制器划鸽,需要再添加一個(gè)ViewController作為它的子控制器冗恨。方法也很簡(jiǎn)單,只需要在Tabbar右鍵拖動(dòng)指向目標(biāo)Vc喳挑,然后在彈出框中選擇relationship segue 中選擇viewcontrollers 即可芬为。最后給拖入一個(gè)navigationController指向TabbarController萄金,并將其設(shè)置為入口。
在圖中1處選擇item媚朦,然后在2處填上已經(jīng)添加好的item的默認(rèn)和選中的圖片氧敢,就會(huì)在3處看到效果,這樣將三個(gè)item設(shè)置好之后就可以再模擬器上運(yùn)行询张。
可以看到Tabbar的圖片和文字并非我們所設(shè)置的樣式孙乖,有經(jīng)驗(yàn)的童鞋肯定可以看出來(lái)是因?yàn)閕OS圖片默認(rèn)渲染,于是份氧,我們簡(jiǎn)單的自定義一個(gè)TabbarVc唯袄。
```
override func viewDidAppear(_ animated: Bool) {
//設(shè)置item 的文字選中和非選中顏色
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.gray], for: UIControlState())
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.green], for: UIControlState.selected)
//取消item 圖片選中和非選中的默認(rèn)渲染模式
for item in self.tabBar.items! {
item.image = item.image?.withRenderingMode(UIImageRenderingMode.alwaysOriginal)
item.selectedImage = item.selectedImage?.withRenderingMode(UIImageRenderingMode.alwaysOriginal)
}
}
```
本來(lái)是在viewdidload方法中加入上述方法,但是當(dāng)引用Storyboard Reference的時(shí)候蜗帜,圖片依然處于被渲染狀態(tài)恋拷,這個(gè)可能跟Storyboard Reference啟動(dòng)機(jī)制有關(guān)
在viewDidAppear中添加上述方法就基本成功構(gòu)建了Navi+Tabbar的系統(tǒng)框架,接下來(lái)介紹Storyboard Reference厅缺。
Storyboard Reference的使用也比較簡(jiǎn)單蔬顾,只需要選中所要單獨(dú)放在另一個(gè)Storyboard里面的Vc,然后在xcode導(dǎo)航欄里面的Editor+Refector to Storyboard 湘捎,然后填寫(xiě)新添加Storyboard名字诀豁,選擇保存位置,Save即可
如上圖所示窥妇,將三大板塊的內(nèi)容分成三個(gè)Storyboard去開(kāi)發(fā)舷胜,這樣就可以有效的解決多人合作代碼沖突的問(wèn)題。唯一需要注意的是Storyboard Reference 是iOS9.0之后的新特性活翩。說(shuō)了這么多烹骨,希望能夠?qū)Υ蠹矣杏?/p>