在iOS 7 UIStatusBar中,它的设计方式与视图合并如下:
(由TinaTavčar设计的GUI )
这很酷,但是当你在视图的顶部有一些东西时它会使你的视图陷入混乱,并且它会与状态栏重叠.
是否有一个简单的解决方案(例如在info.plist中设置属性)可以改变它的工作方式[不重叠]回到它在iOS6中的状态?
我知道一个更直接的解决方案是self.view.center.x为每个视图控制器提供+ 20个点,但是更改它们会使其他尺寸self.view.center.x变得更大(有不同可能导致自定义segue等问题)并且突然变成一个单调乏味的工作最好避免.
如果有人能为我提供单线解决方案,我真的很高兴.
PS我知道我可以通过做某事来隐藏状态栏
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
Run Code Online (Sandbox Code Playgroud)
在didFinishLaunchingWithOptions方法中,但这是一个解决方法,一个避免问题的捷径,所以我不认为这是一个真正的解决方案.
我尝试了很多方法来设置状态栏样式(默认或轻量级),但不能让它在每个视图控制器的基础上工作.我只能为整个应用设置状态栏样式.
有人有提示吗?
我试过了 UIViewControllerBasedStatusBarAppearance
和
-(UIStatusBarStyle)preferredStatusBarStyle{
return UIStatusBarStyleLightContent;
}
Run Code Online (Sandbox Code Playgroud)
但这些方法不起作用.
我正在将我的应用程序迁移到iOS 7.为了处理状态栏问题,我添加了此代码
if([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0f)
{
CGRect frame = self.navigationController.view.frame;
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
frame.origin.y = 20;
}
else
{
frame.origin.x = 20;
}
[self.navigationController.view setFrame:frame];
}
Run Code Online (Sandbox Code Playgroud)
这在正常情况下工作正常.如果我正在更改方向(应用程序仅支持横向方向)或呈现任何视图控制器并关闭模型视图控制器,我的视图控制器对齐方式已更改.状态栏再次与我的视图控制器重叠.这段代码根本不起作用.请指导我修复此状态栏问题.
案例2:这就是我呈现视图控制器的方式
ZBarReaderViewController *reader = [ZBarReaderViewController new];
reader.readerDelegate = self;
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
reader.supportedOrientationsMask = ZBarOrientationMaskLandscape;
else
reader.supportedOrientationsMask = ZBarOrientationMaskPortrait;
[self presentModalViewController:reader animated:YES];
Run Code Online (Sandbox Code Playgroud)
参考:

提前致谢.
我最近升级到xcode 5,当我在iOS模拟器中运行我的应用程序时,启动画面与状态栏重叠,当你在应用程序中时状态栏重叠到我的应用程序上的元素,就像我左上角的后退按钮我的应用程序的一角.我使用phonegap 2.9构建我的应用程序.任何想法如何让我正确渲染.


iOS 6看起来......

同样的方式我想在iOS 7中显示状态栏
看到这个

但我的实际输出(重叠)
我试过跟随逻辑
open your info.plist and set "View controller-based status bar appearance" = NO
Run Code Online (Sandbox Code Playgroud)
它在我的代码中不起作用,,,
我是iOS开发的新手,我的代码在iOS6中运行良好,但在iOS7中它有一些UI问题.
请看下面的图片.我想在表格视图中添加边距,但如上所述它在iOS 6中是完美的.问题可能看起来非常基本,但我试图找到任何可以添加边距的属性.
其次,如果我需要以编程方式进行,请建议我应该在哪里编写代码.
我试图在谷歌搜索,但可能是我无法搜索正确的条款.我是C++开发人员,也是Objective C和Mac的新手.

我正在开发一个在IOS6中运行良好的应用程序.但在iOS7中,状态栏与视图重叠.
举个例子 :

我首先需要状态栏,然后是我的图标和最后删除.所以请告诉我如何删除重叠.
但我需要这个
请告诉我有关我的问题的任何想法
ios ×5
ios7 ×5
ipad ×2
objective-c ×2
statusbar ×2
cocoa-touch ×1
cordova ×1
ios6 ×1
iphone ×1
uitableview ×1
xcode5 ×1