UITabBarController

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)的圖像
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容