我有一个带导航栏的应用程序。 当我在应用程序中单击照片预览时,它会全屏显示照片。但是当我关闭整个屏幕时,我的控制器视图位于导航栏下。
我在StackOverflow上看到有必要添加这一行:
self.edgesForExtendedLayout = []
它可以工作,但它会产生另一个错误。 所以我想知道是否还有其他选择?
更新:
答案 0 :(得分:0)
1-使导航栏不透明。
self.navigationController.navigationBar.translucent = NO;
2-如果使用的是Xib,请如下所示在File Inspector中检查“ Safe Area Layout Guides”。
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;
}