自定義tabber,就是創建自己的tabbar蓋在系統的tabbar上面
//自定義tabbar
GJWTabBar ? *customTabBar = [[GJWTabBar alloc]init];
customTabBar.frame=self.tabBar.bounds;
customTabBar.delegate=self;
[self.tabBar addSubview:customTabBar];
self.customTabBar= customTabBar;
// 刪除系統自動生成的UITabBarButton
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
// 刪除系統自動生成的UITabBarButton
for(UIView *child in self.tabBar.subviews) {
if([child isKindOfClass:[UIControl ?class]]) {
[child ? removeFromSuperview];
}
}
}
可是當我運行時候,系統自帶的按鈕依然像蓋在
上面,出現兩個tabbar,之前的ios11以前都沒有這個問題的。
后來發現在-(void)viewDidAppear:(BOOL)animated里面重新調用刪除系統自帶tabbar
就可以了。
以下沒有刪除掉的情況
方法二:隱藏自帶的,創建一個view,來替代。
- (void)viewDidAppear:(BOOL)animated{
? ? [super viewDidAppear:animated];
? ? self.tabBar.hidden = YES; //隱藏自帶的tabBar
? ? for (UIView *child in self.tabBar.subviews) {
? ? ? ? if ([child isKindOfClass:[UIControl class]]) {
? ? ? ? ? ? child.hidden = YES;//隱藏自帶的tabBarButton
? ? ? ? }
? ? }
}
注:不喜勿噴!!!