我正在对一个2年以上没有工作的旧应用程序进行一些更改。我在xCode 6中构建并运行了应用程序并获得了以下结果。
对于状态栏,我尝试以下操作:
- (void)viewDidLoad
{
[super viewDidLoad];
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)])
{
[self prefersStatusBarHidden];
[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
}
else
{
// iOS 6
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
}
}
// Add this method
- (BOOL)prefersStatusBarHidden {
return YES;
}
我也试图将View controller-based status bar appearance
设为NO
有人可以帮我这个吗?我没有使用故事板,也没有计划使用这个应用程序。它都是分开的XIB文件。
提前致谢!
修改
添加此代码后:
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
self.window.backgroundColor = [UIColor blackColor];
self.window.clipsToBounds =YES;
self.window.frame = CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20);
}
我得到以下内容:
我的标签栏是在appdelegate中的代码中创建的:
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:homeNavigation,bookNavigation,doctorsNavigation,settingsNavigation,locatorNavigation,nil];
[self.window makeKeyAndVisible];
答案 0 :(得分:0)
如果要在状态栏下面启动视图控制器(在viewDidLoad
方法中编写此代码),请尝试此操作。
if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
{
self.edgesForExtendedLayout=UIRectEdgeNone;
}
如果您想隐藏状态栏,请按照此link
进行操作