iphone-tabbar 如何自定义TabBarController
2015-01-22来源:易贤网

什么是TabBarController

tabbar,通常情况下用来下面互相切换ViewControllers。使用方式有几种,其中最常见的就是指定tabArray,里面按着顺序存放controllers对象做为下面切换。这种操作可以放在AppDelegate里面,最终,加入window上。

深入理解TabBarController

本人曾尝试把TabBarController,tabbar的hidden=YES,之后发现下面黑色的tabbar没有了,但是会有白色的东西覆盖在上面。background Color 设置为clear都不行。 后来发现tabbar的现实内容的地方,设置的高度小了。所以导致看起来是白色的。后来把内容部分拉长,tabbar虽然还在下面那个位置,但是 hidden之后,就不会有那个白色的效果了。

if ( [[self.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]] )

contentView = [self.view.subviews objectAtIndex:1];

else

contentView = [self.view.subviews objectAtIndex:0];

得到内容view

。 如何自定义TabBarController

1。第一种方式是完全重写TabBarController,使用view来代替,上面都是button,工作量非常大,有一点就是各个层级之间的切换无法弄的太透彻。什么时候在上面,下面,什么时候隐藏。

2。第二种是继承一个UItabbarController,然后在这个子类的上层加一个View。这个的好处在于切换直接通过hide的tabbar进行中转就行了。

中转函数。- (void)switchView:(id)sender

{ int index = [self.subviews indexOfObject:sender];

tabbarctrl.selectedIndex = index;

}

最后,当我们需要badgeVale,别忘了去320找找好用的。

更多信息请查看IT技术专栏

推荐信息