我已经使用xib为ios 6制作了应用程序。所有视图都显示为与xib完全相同。 但是在IOS 7中,由于状态栏,视图移动到了&底部有一个空白区域。
如何解决此问题?
答案 0 :(得分:5)
移动您的视图,使其在iOS7中正确显示,并使用界面构建器中的iOS6/7 Deltas
设置添加正确的增量高度,以便您的视图在iOS6中正确显示。
答案 1 :(得分:3)
对于IOS7,您的状态栏高度从顶部开始,默认情况下是IOS6。
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];
}
}
答案 2 :(得分:2)
修复状态栏问题的步骤:
将“视图”选项更改为“ IOS 7及更高版本”并从文件中取消选中“使用自动布局选项督察。
转到尺寸检查器,然后将原始图像增加20像素增加到所选xib中添加的所有控件。
对于所选xib中添加的所有控件,将y的 delta值增加到-20 。
在IOS 6和IOS 7中运行应该修复问题。 (确保按照我的提及完美处理y原点和delta值。)
有关明确信息,请参阅此链接中的答案:https://stackoverflow.com/a/19025547/1545180
供您参考
答案 3 :(得分:1)
您可以通过在尺寸检查器上使用ios6 / 7 delta显示,通过更改delta x,delta y,delta width,delta height中的值,在ios7和ios6中正确设置UIView内容。首先设置ios7的值x,y,宽度,高度,然后检查,然后通过减去和添加数字为ios6设置增量。我也喜欢这样,它很容易,你可以得到我的帮助蚂蚁时间..谢谢
答案 4 :(得分:0)
如果您有自定义UINavigationController
,请尝试将translucent
的{{1}}属性设置为navigationBar
,如:
NO
这对我有用