關於iOS tabBar隱藏和顯示問題
阿新 • • 發佈:2019-02-05
在編寫程式碼中都會有tabBar,有時候為了介面的美觀需要隱藏tabBar 比如試圖控制器之間的切換,進入下級介面會遇到要隱藏tabBar的問題這裡提供了兩個簡單的tabBar隱藏和顯示的函式,用時直接呼叫即可,比較簡單。
一般放在viewWillAppear和viewWillDisappear中 直接呼叫即可#pragma mark-隱藏標籤欄與顯示標籤欄 - (void)hideTabBar { if (self.tabBarController.tabBar.hidden == YES) { return; } UIView *contentView; if ( [[self.tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]] ) contentView = [self.tabBarController.view.subviews objectAtIndex:1]; else contentView = [self.tabBarController.view.subviews objectAtIndex:0]; contentView.frame = CGRectMake(contentView.bounds.origin.x, contentView.bounds.origin.y, contentView.bounds.size.width, contentView.bounds.size.height + self.tabBarController.tabBar.frame.size.height); self.tabBarController.tabBar.hidden = YES; } - (void)showTabBar { if (self.tabBarController.tabBar.hidden == NO) { return; } UIView *contentView; if ([[self.tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]]) contentView = [self.tabBarController.view.subviews objectAtIndex:1]; else contentView = [self.tabBarController.view.subviews objectAtIndex:0]; contentView.frame = CGRectMake(contentView.bounds.origin.x, contentView.bounds.origin.y, contentView.bounds.size.width, contentView.bounds.size.height - self.tabBarController.tabBar.frame.size.height); self.tabBarController.tabBar.hidden = NO; }