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];
}
}
但仍然没有变化。我该如何解决这个问题?
答案 0 :(得分:0)
试试这种方式..
OR
此..
这样可以将所有子视图设为+20像素,即为所有视图增加y轴的+20
Set the deleta
用于ios 7.因此,它将显示ios 6和i的优点。 7。
答案 1 :(得分:0)
//如果导航栏和状态栏都显示在屏幕上,则给它框架
//首先检查设备是否有ios 7
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0"))
{
self.view.frame=CGRectMake(0,64,320,self.view.height);
}
答案 2 :(得分:0)
答案 3 :(得分:0)
请参阅下面的说明
使用xcode 5,
点击xib,转到文件检查器并更改设置如下
部署目标为ios 7
这里,您需要根据ios 7及更高版本的视图创建两个xib视图,并根据xib调用查看ios 6及更早版本和白色条件
在.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
}否则{
//Here call ios 6 and earlier xib
}
答案 4 :(得分:-2)
您必须为ios 6和ios 7创建两个xib。
比你必须检查条件,如果设备是ios7而不是调用ios7 xib,否则去ios 6。