UITabBarController的屬性
- viewControllers
UIViewController的數(shù)組,即要顯示的VC,數(shù)組中VC的順序即是實(shí)際展示的VC的順序。UITabBarController最多展示5個(gè)tab,如果數(shù)組中的元素的個(gè)數(shù)超過了5個(gè),會(huì)正常展示前四個(gè)tab,然后有一個(gè)更多的tab,可以選擇其他的tab。

多余5個(gè)tab時(shí),顯示更多
- customizableViewControllers
點(diǎn)擊更多時(shí),會(huì)有編輯按鈕,然后用戶可以對(duì)這些tab排序。此時(shí),可以進(jìn)行排序的tabvc是在這個(gè)數(shù)組內(nèi),不在這個(gè)數(shù)組內(nèi)的,不會(huì)參與排序。

多個(gè)tab時(shí)可以排序
此時(shí)viewControllers數(shù)組有6個(gè)元素,customizableViewControllers有5個(gè)對(duì)象。因此,可以排列的VC個(gè)數(shù)只有5個(gè)。
如果不設(shè)置customizableViewControllers屬性,那么默認(rèn)所有的VC都可以進(jìn)行排序。
- selectedIndex與selectedViewController
設(shè)置哪一個(gè)tab被選中,可讀可寫
UITabBar
UItabBarController有一個(gè)叫做tabBar的屬性,卻是只讀的。tabBar由很多tabBarItem來配置,每一個(gè)tabBarItem都是由對(duì)應(yīng)的VC來配置的。每一個(gè)VC都有一個(gè)tabBarItem的屬性。通過設(shè)置每一個(gè)VC的tabBarItem屬性,然后把這些VC加到UITabBarController的viewControllers中,即可定制底部tabbar的屬性。
self.catVC?.tabBarItem = UITabBarItem.init(title: "cat",
image:TGResizeImage(image!,byRatio: 0.5).imageWithRenderingMode(.AlwaysOriginal),
tag: 0);
self.pigVC?.tabBarItem = UITabBarItem.init(title: "pig",
image:TGResizeImage(image!,byRatio: 0.5).imageWithRenderingMode(.AlwaysOriginal),
tag: 1);
self.duckVC?.tabBarItem = UITabBarItem.init(title: "duck",
image:TGResizeImage(image!,byRatio: 0.5).imageWithRenderingMode(.AlwaysOriginal),
tag: 2)
self.sheepVC?.tabBarItem = UITabBarItem.init(title: "sheep",
image:TGResizeImage(image!,byRatio: 0.5).imageWithRenderingMode(.AlwaysOriginal),
tag: 3)
self.carVC?.tabBarItem = UITabBarItem.init(title: "car",
image:TGResizeImage(image!,byRatio: 0.5).imageWithRenderingMode(.AlwaysOriginal),
tag: 4)
self.extralVC?.tabBarItem = UITabBarItem.init(title: "extra",
image:TGResizeImage(image!,byRatio: 0.5).imageWithRenderingMode(.AlwaysOriginal),
tag: 5)
self.viewControllers = [self.catVC!,self.pigVC!,self.duckVC!,self.sheepVC!,self.carVC!,self.extralVC!];
- backgroundImage
背景圖,如果不是可拉伸的,那么背景圖會(huì)向瓦片一樣平鋪。原文是
the tab bar tiles the image
- shadowImage
TabBar上面的圖像。如果要設(shè)置這個(gè)屬性,必須先設(shè)置backgroundImage屬性,否則會(huì)安裝設(shè)置一個(gè)默認(rèn)的image- 如何取消TabBar上面的一條虛線

有虛線
self.tabBar.setValue(1, forKey: "_hidesShadow")

沒有虛線
- selectionIndicatorImage
選中態(tài)的圖像