iOS 7 UIView - 状态栏上的子视图重叠

时间:2014-03-31 11:41:32

标签: ios objective-c uiview xcode5

我为注册表单创建了一个UIView容器,里面有一个登录表单的子视图。因此,浏览“已经注册的按钮”操作

- (IBAction)registeredButton:(id)sender {
    [UIView animateWithDuration:0.3 animations:^{
        _loginOverlayView.frame = self.view.frame;
    }];
}

我的问题基本上是;为什么子视图在状态栏上重叠。我该怎么办呢!

_loginOverlayView

enter image description here

p.s:使用Xcode 5,iOS7

3 个答案:

答案 0 :(得分:2)

打开故事板,在视图控制器的设置中检查“归因检查器”。在Extend Edges第一行' Under top bars'应勾选

enter image description here

UPD:

如何使用自动布局'在文件检查器?勾选?

enter image description here

UPD2:

哦,我认为你应该转向64px的视图(20px状态栏,44px导航控制器)。因为某种程度上你的插图和布局不起作用

答案 1 :(得分:1)

#define IS_IOS_7 ([[UIDevice currentDevice].systemVersion floatValue] < 7.0 ? NO : YES)

if (IS_IOS_7)
{
    self.edgesForExtendedLayout = UIRectEdgeNone;
}

答案 2 :(得分:0)

在iOS 7中,视图(0,0)从设备(0,0)开始,即在状态栏内。

您可以通过故事板或代码中的自动布局来修复它......或者如果它是iOS 7,您只需在视图的框架中添加20个像素....

#define ISOS_7    ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)