概述
昨天有个小的需求,app的购物车页面,每次进入的时候需要隐藏tabBar
,而我用的是系统的tabBar
,购物车页也是tabBarController
控制的viewController
,除了从tabBar
点击item
进入购物车,还可以从button
进入,折腾了很久也试了很多方法,最后也算整出来了。
使用
在自定义tabBarController
创建购物车的地方加上这两句代码
shoCartVC.hidesBottomBarWhenPushed = YES;
shoCartVC.tabBarController.tabBar.hidden = YES;
创建购物车对象
ShoCartViewController *shoCartVC = [ShoCartViewController sharedClient];
shoCartVC.hidesBottomBarWhenPushed = YES;
shoCartVC.tabBarController.tabBar.hidden = YES;
UINavigationController *shoCartNav = [[UINavigationController alloc] initWithRootViewController:shoCartVC];
shoCartNav.tabBarItem.image = [UIImage imageNamed:@"tabbar_cart.png"];
shoCartNav.tabBarItem.title = @"购物车";
还有些小技巧
- 有时候我们用系统的
tabBar
没有文字只有图标,会发现图标比较偏上,用tabBarItem
的这个属性imageInsets
。 - 首页显示
tabBar
,但是二级页面需要隐藏。
ComListViewController *comListVC = [[ComListViewController alloc] init];
comListVC.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:comListVC animated:YES];