状态栏的隐藏:
[UIApplication sharedApplication].statusBarHidden = YES;
导航栏的隐藏:
[self.navigationController setNavigationBarHidden:YES];
注意:状态栏和导航栏的隐藏的实现:
-(void)viewWillAppear:(BOOL)animated {
[UIApplication sharedApplication].statusBarHidden = YES;
[self.navigationController setNavigationBarHidden:YES];
}
想要出去这个页面就不在隐藏则:
-(void)viewWillDisappear:(BOOL)animated {
[UIApplication sharedApplication].statusBarHidden = NO;
[self.navigationController setNavigationBarHidden:NO];
}
Tabbar的隐藏:
[self.tabBarController.tabBar setHidden:YES];//特别注意,这个方法隐藏会有问题,虽然貌似是隐藏了,但是tabbar的那片区域是白色的,这个方法对于自定义时,隐藏系统按钮还可以使用,但是对于一些情况,比如:想将tabbar隐藏,然后还想在tabbar原来的位置添加按钮,点击按钮可以有响应。这时用这种方法无法实现,因为这种隐藏,在原tabbar位置处添加的按钮是无法响应的。
应用下种方法来实现真正的隐藏
//注意:这个方法是添加到想要隐藏tabbar的页面对应的代码中
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.hidesBottomBarWhenPushed = YES;
}
return self;
}
还有一种隐藏tabbar的方法:
- (void)makeTabBarHidden:(BOOL)hide
{
if ( [self.tabBarController.view.subviews count] < 2 )
{
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];
}
// [UIView beginAnimations:@"TabbarHide" context:nil];
if ( hide )
{
contentView.frame = self.tabBarController.view.bounds;
}
else
{
contentView.frame = CGRectMake(self.tabBarController.view.bounds.origin.x,
self.tabBarController.view.bounds.origin.y,
self.tabBarController.view.bounds.size.width,
self.tabBarController.view.bounds.size.height - self.tabBarController.tabBar.frame.size.height);
}
self.tabBarController.tabBar.hidden = hide;
// [UIView commitAnimations];
}