uiview在ios7中显得扭曲,但对ios6和其他人工作正常

时间:2013-10-04 05:14:01

标签: iphone ios objective-c ios7

我的应用程序的

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];
    }
}

但仍然没有变化。我该如何解决这个问题?

5 个答案:

答案 0 :(得分:0)

试试这种方式..

IOS & DISPLAY

OR

此..

Status Bar Issue

这样可以将所有子视图设为+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)

尝试我的答案...在ViewdidLoad方法中编写该代码..

Status Bar issue

快乐编码!!!

答案 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。