我的应用程序UIView
在iOS6中看起来很好,但是当涉及到ios7时,整个视图都会失真。在ios7中,整个视图向上抬起。
编辑 :
然后我应用了以下代码:
float SystemVersion=[[[UIDevice currentDevice] systemVersion] floatValue];
if(SystemVersion<7.0f)
{
//Currently your app is running in IOS6 or older version. So you need not to do anything.
}
else
{
// Currently your app is running in IOS7. Do the following.
CGRect TempRect;
for(UIView *sub in [[self view] subviews])
{
TempRect=[sub frame];
TempRect.origin.y+=20.0f; //Height of status bar
[sub setFrame:TempRect];
}
}
但仍然没有变化。我该如何解决此问题?
试试这种方式。
IOS & DISPLAY
或
这。。
状态栏问题
这样使您的所有子视图为 +20 像素,即增加所有视图的 y 轴的 +20 Set the deleta
适用于 iOS 7。因此,它将在iOS 6和7中显示优点。
//如果导航栏和状态栏都显示在屏幕上
,则给它框架首先检查设备是否具有iOS 7
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0"))
<</p>
{
self.view.frame=CGRectMake(0,64,320,self.view.height);
}
试试我的答案...在ViewdidLoad方法中编写该代码。
状态栏问题
快乐编码!!
请参阅下面的注释
使用 xcode 5,
点击xib,转到文件检查器并更改设置,如下所示
部署目标为 iOS 7
在这里,您需要基于iOS 7及更高版本的
视图和基于xib调用的iOS 6及更早版本的视图以及基于xib调用的白色条件的2个xib视图在 .m 文件中定义以下代码
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
如果查看为 IOS 7.0 及更高版本
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0"))
//Here call ios 7 xib
}else{
//Here call ios 6 and earlier xib
}
您必须为 ios6 和 ios7 创建两个 xib。
比您必须检查设备是否为 ios7 的条件,而不是调用 ios7 xib 否则转到 ios6。