UITabBarController的使用

1.UITabBarController

UITabBarController通常作为整个程序的rootViewController,而且不能添加到别的 container viewController中。

使用步骤:

(1)初始化UITabBarController

(2)设置UIWindow的rootViewController为UITabBarController

(3)创建相应的子控制器(viewcontroller)

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

selectedIndex属性可用于设置当前被选中的为哪个viewcontroller

可通过代理使tabbarcontroller的某一个viewcontroller不可用,即不可点击,示例代码:

- (BOOL)tabBarController:(UITabBarController*)tabBarController shouldSelectViewController:(UIViewController*)viewController {

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

returnNO;

}

returnYES;

}

2.UITabbar

UITabBar上面显示的每一个Tab都对应着一个ViewController,我们可以通过设置 viewcontroller.tabBarItem属性来改变tabbar上对应的tab显示内容。否则系统将会根据viewController的 title自动创建一个,该tabBarItem只显示文字,没有图像。当我们自己创建UITabBarItem的时候,我们可以显示的指定显示的图像和 对应的文字描述。当然还可以通过

173216_Hy3q_724167.png

设置背景颜色

[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.(默认)使用系统的图片渲染处理,即时图片本身有颜色也将对最终显示结果无任何影响,此时可改变渲染的颜色


173237_gQ5i_724167.png

2.使用图片本身的颜色,此时需修改UIImage的renderingMode(只读)属性。示例代码:

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

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

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


27173509_Oyq4.png

注:未被选中状态的图片默认会被渲染成灰色,但也使用与以上属性(可设为显示某一张图片的原色)


转载于:https://my.oschina.net/disibo/blog/667144

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值