UITabBarController 之 设置选中和未选中的图片 隐藏tabbar

今天用到了关于 UITabBarController,看到设计图中的那些效果和系统默认的不一样 所以赶紧上网找些资料去

发现关于它的自定义不少 可是好用的不是很多 大部分都是一样的 并且我用了之后效果不是很明显

但是经过看别人的 总算是组合出来了点结果

首先是修改背景

{

self.tabBarController = [[UITabBarController alloc] init];

//定义一个view 里面是一个背景图片

UIView *v = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 49)];

v.backgroundColor  = [UIColor clearColor];

UIImageView *img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"new-nav-bg.png"]];

img.frame = CGRectMake(0,0, 320,49);

img.contentMode = UIViewContentModeScaleToFill;

[v addSubview:img];

//这句话是重点 网上都是把数字1 写成了 0  但是我写0 的时候不能显示效果 1就可以

[self.tabBarController.tabBar insertSubview:v atIndex:1];

}

其实直接用一幅图片也行的

{

UIImageView *img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"new-nav-bg.png"]];

img.frame = CGRectMake(0,0, 320,49);

img.contentMode = UIViewContentModeScaleToFill;

[self.tabBarController.tabBar insertSubview:img atIndex:1];

}

这样就完成了 效果如下:

其实每个图片都是黑色的 系统默认会加上一些效果 譬如选中 或者没有被选中的时候 如果使用

[con2.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"tab3.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tab2.png"]];

con2是tab2 对应的视图控制器 这样自定义选中和未选中的图片之后就完全自己控制了效果如下 并且图片大小不会改变


这张是不会影响尺寸的

还有就是有时候需要进行对tabar的暂时的隐藏或者显示 如果使用 self.tabBarController.tabBar.hidden = YES; 可能是隐藏了 但是tab bar 的位置并没有被占去 而是显示黑色的一条 最后我找到了一个解决的方法
aboutViewCon.hidesBottomBarWhenPushed = YES;//跳入该页面的时候隐藏掉tabbar
[self.navigationController pushViewController:aboutViewCon animated:NO];
aboutViewCon.hidesBottomBarWhenPushed = NO;//跳进去后该页面的时显示tabbar
这样就完美解决了问题


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值