在Xcode9 以前自定义tabbar 都是通过在控制器出来时将系统的tabbar移除掉只剩下自已的。
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
//将tabbar里面的东西除了自定义的tabbar不删除,其他都删除
//留下一个自定义的.想隐藏就能隐藏掉,只要设置tabbar的一个隐藏属性就好,
for (UIView * chail in self.tabBar.subviews)
{
if (![chail isKindOfClass:[MyTabBar class]]) {
[chail removeFromSuperview];
}
}
},在Xcode 8 之前,还是可以的。
但是我在自己写项目出现tabbar重影问题,总是有问题,不管我是把系统的tab如和处理,底层颜色如何设置都没有效果呢,我明明将系统的tabbar干掉了,但是还是会出来重影
,好气哦。
后面百度了好多,都不离不了,然后试了一下,在页面UI处理完,即将布局的时候处理了一下,
卧槽,真的可以了,其实很多事时候,我们都在LayoutSubviews 里面处理过UI,但是这次
因为一时间没反应过来,基本上处理UI,在这里面,其实都能处理掉的,因为这是最后再走的处理UI的方法。
-(void)viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
for (UIView *chail in self.tabBar.subviews)
{
if (![chail isKindOfClass:[MYTabBar class]]) {
[chail removeFromSuperview];
}
}
}