1.状态栏,
1)启动页隐藏状态栏
info.plist 加 Status bar is initially hidden 为yes
2)其他界面隐藏显示状态栏
<1>info.plist 加 View controller-based status bar appearance
<2>比如其他界面都是显示的,现在进入这个界面需要隐藏,在viewWillappear显示此界面里设置隐藏,退出界面时显示
- (void) viewWillDisappear:(BOOL)animated
{
[[UIApplication sharedApplication] setStatusBarHidden:NO];
}
- (void) viewWillAppear:(BOOL)animated
{
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}
2.导航条也类似,现在进入这个界面需要隐藏,在viewWillappear显示此界面里设置隐藏,退出界面时显示
- (void) viewWillDisappear:(BOOL)animated
{
self.navigationController.navigationBar.hidden = NO;
}
- (void) viewWillAppear:(BOOL)animated
{
self.navigationController.navigationBar.hidden = YES;
}
3.横竖屏问题,
1)如所有界面只竖屏,需自定义一个继承自UINavigationController的类并实现以下代码
- (BOOL)shouldAutorotate
{
// return NO;
return [self.topViewController shouldAutorotate];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return [self.topViewController shouldAutorotateToInterfaceOrientation:interfaceOrientation];
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
return [self.topViewController supportedInterfaceOrientations];
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return [self.topViewController preferredInterfaceOrientationForPresentation];
}
并在在各自的界面实现
// 支持设备自动旋转
- (BOOL)shouldAutorotate
{
return NO;
}
2)如只在个别界面实现横屏
self.view.transform = CGAffineTransformMakeRotation(M_PI_2);
通过设置view 旋转的方法来实现横屏。