//只有被装在该数组的视图控制器才能够在运行的时候移动位置
tabBarCtrl.customizableViewControllers = @[viewCtrl6, viewCtrl3];
viewCtrl.tabBarItem.badgeValue = nil;//@"新消息";
tabBarCtrl.tabBar.translucent = NO;//半透明
//hidden、alpha、跳动坐标位置(UIView animaWithDuration:)
self.tabBarController.tabBar.hidden = !self.tabBarController.tabBar.hidden;
self.tabBarController.tabBar.alpha = 0.0; //效果和hidden一样
//利用视图边界外面隐藏标签栏,有动画效果,相对来说上面两种方法要长,没动画效果
if (self.tabBarController.tabBar.frame.origin.y >= 480) {
[UIView animateWithDuration:0.5 animations:^{
self.tabBarController.tabBar.frame = CGRectMake(0, 480-49, 320, 49);
}];
}
else {
[UIView animateWithDuration:0.5 animations:^{
self.tabBarController.tabBar.frame = CGRectMake(0, 480, 320, 30);
}];
}
通过Xib文件或者storyboard创建的对象都会自动调用
- (void)awakeFromNib
自定义TabBar
1 使用UIButton替换系统的UITabBarItem
2 在按钮的action里改变UITabBarController的selectedIndex
//返回NO表示对应的标签栏不能响应点击
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
{
if ([viewController.title isEqualToString:@"第二页"]) {
return NO;
}
return YES;
}
点击标签响应事件
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
NSLog(@"%@", viewController.title);
}
UITabBarController
最新推荐文章于 2016-08-26 09:33:22 发布