本文主要是介绍iOS开发之隐藏tabbar解决隐藏后依然不能响应对应位置事件的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
更多文章: http://www.itnose.net
1 [UIApplication sharedApplication].statusBarHidden = YES;
1 [self.navigationController setNavigationBarHidden:YES];
方法1
1 [self.tabBarController.tabBar setHidden:YES];
这个方法有问题,虽然tabBar被隐藏了,但是那片区域变成了一片空白,无法被其他视图使用。
方法2
对于navigationController+tabBarController的结构,可以在push下一级的childController之前将childController的hidesBottomBarWhenPushed属性设为YES。
比如,可以在childController的初始化方法中做这件事,代码如下:
1 // The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.2 3 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {4 self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];5 if (self) {6 // Custom initialization.7 self.hidesBottomBarWhenPushed = YES;8 }9 return self; 10 }
方法3
http://www.azumi.cc/thread-539502-1-1.html
1 - (void)makeTabBarHidden:(BOOL)hide2 {3 if ( [self.tabBarController.view.subviews count] < 2 )4 {5 return;6 }7 UIView *contentView;8 9 if ( [[self.tabBarController.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]] ) 10 { 11 contentView = [self.tabBarController.view.subviews objectAtIndex:1]; 12 } 13 else 14 { 15 contentView = [self.tabBarController.view.subviews objectAtIndex:0]; 16 } 17 // [UIView beginAnimations:@"TabbarHide" context:nil]; 18 if ( hide ) 19 { 20 contentView.frame = self.tabBarController.view.bounds; 21 } 22 else 23 { 24 contentView.frame = CGRectMake(self.tabBarController.view.bounds.origin.x, 25 self.tabBarController.view.bounds.origin.y, 26 self.tabBarController.view.bounds.size.width, 27 self.tabBarController.view.bounds.size.height - self.tabBarController.tabBar.frame.size.height); 28 } 29 30 self.tabBarController.tabBar.hidden = hide; 31 // [UIView commitAnimations]; 32 }
1 - (void)viewWillAppear:(BOOL)animated {2 [self setFullScreen:YES];3 }4 5 - (void)viewWillDisappear:(BOOL)animated {6 [self setFullScreen:NO];7 }8 9 - (void)setFullScreen:(BOOL)fullScreen { 10 // 状态条 11 [UIApplication sharedApplication].statusBarHidden = fullScreen; 12 // 导航条 13 [self.navigationController setNavigationBarHidden:fullScreen]; 14 // tabBar的隐藏通过在初始化方法中设置hidesBottomBarWhenPushed属性来实现。 15 }
这篇关于iOS开发之隐藏tabbar解决隐藏后依然不能响应对应位置事件的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!