UITabBarController的使用

1.UITabBarController

UITabBarController一般做爲整個程序的rootViewController,並且不能添加到別的 container viewController中。ui

使用步驟:spa

(1)初始化UITabBarController代理

(2)設置UIWindow的rootViewController爲UITabBarControllercode

(3)建立相應的子控制器(viewcontroller)orm

(4)把子控制器添加到UITabBarController圖片

selectedIndex屬性可用於設置當前被選中的爲哪一個viewcontrollerci

可經過代理使tabbarcontroller的某一個viewcontroller不可用,即不可點擊,示例代碼:unicode

- (BOOL)tabBarController:(UITabBarController*)tabBarController shouldSelectViewController:(UIViewController*)viewController {圖片處理

if([tabBarController.viewControllersindexOfObject:viewController] ==1) {it

returnNO;

}

returnYES;

}

2.UITabbar

UITabBar上面顯示的每個Tab都對應着一個ViewController,咱們能夠經過設置 viewcontroller.tabBarItem屬性來改變tabbar上對應的tab顯示內容。不然系統將會根據viewController的 title自動建立一個,該tabBarItem只顯示文字,沒有圖像。當咱們本身建立UITabBarItem的時候,咱們能夠顯示的指定顯示的圖像和 對應的文字描述。固然還能夠經過

設置背景顏色

[tabVC.tabBar setBarTintColor:[UIColor grayColor]];

設置選中item顏色:

[tabVC.tabBarsetTintColor:[UIColorcolorWithRed:170/255.0green:0/255.0blue:0/255.0alpha:1.0]];

注意(未驗證):

UITabBar本身有一些方法是能夠改變自身狀態,可是對於UITabBarController自帶的tabBar,咱們不能直接去修改其狀態。任何直接修改tabBar的操做將會拋出異常

uitabbaritem的titlePositionAdjustment屬性可設置title的偏移量,示例代碼:

[newsVC.tabBarItemsetTitlePositionAdjustment:UIOffsetMake(0, -3)];

UIBarItem的imageInsets屬性可設置image的偏移量,示例代碼:

[newsVC.tabBarItemsetImageInsets:UIEdgeInsetsMake(20,0,0,0)];

UITabBar的默認高度爲49

UITabBarController的tabBar.frame屬性可任意修改tabbar的寬度和位置,但高度修改不生效。並且此時tabbarcontroller控制下的view controller的view也是按照tabor的默認尺寸和位置進行適配,若是要修改tabor的frame還須要手動對其控制下的view controller進行適配。

3.UITabbarItem

tabbaritem可分別設置image和selectedImage屬性,用來顯示選中和未選中時顯示的圖片

UIBarItem的圖片處理方案:

1.(默認)使用系統的圖片渲染處理,即時圖片自己有顏色也將對最終顯示結果無任何影響,此時可改變渲染的顏色


2.使用圖片自己的顏色,此時需修改UIImage的renderingMode(只讀)屬性。示例代碼:

newsVC.tabBarItem.image        = [UIImage imageNamed:@"picture"];

newsVC.tabBarItem.selectedImage= [UIImageimageNamed:@"icon87"];

newsVC.tabBarItem.selectedImage= [newsVC.tabBarItem.selectedImageimageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];



注:未被選中狀態的圖片默認會被渲染成灰色,但也使用與以上屬性(可設爲顯示某一張圖片的原色)

相關文章
相關標籤/搜索