全屏后UIView在导航栏下

时间:2016-12-16 14:24:17

标签: ios swift navigationbar

我有一个带导航栏的应用程序。 当我在应用程序中单击照片预览时,它会全屏显示照片。但是当我关闭整个屏幕时,我的控制器视图位于导航栏下。

我在StackOverflow上看到有必要添加这一行:

self.edgesForExtendedLayout = []

它可以工作,但它会产生另一个错误。 所以我想知道是否还有其他选择?

更新:

enter image description here

1 个答案:

答案 0 :(得分:0)

1-使导航栏不透明。

self.navigationController.navigationBar.translucent = NO;

2-如果使用的是Xib,请如下所示在File Inspector中检查“ Safe Area Layout Guides”。 enter image description here

3-如果您要以编程方式进行操作,则在添加视图之后

self.yourView.translatesAutoresizingMaskIntoConstraints = false;
if (@available(iOS 11, *)) {
    UILayoutGuide * guide = self.view.safeAreaLayoutGuide;
    [self.yourView.leadingAnchor constraintEqualToAnchor:guide.leadingAnchor].active = YES;
    [self.yourView.trailingAnchor constraintEqualToAnchor:guide.trailingAnchor].active = YES;
    [self.yourView.topAnchor constraintEqualToAnchor:guide.topAnchor].active = YES;
    [self.yourView.bottomAnchor constraintEqualToAnchor:guide.bottomAnchor].active = YES;
}