首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >旋转设备后未更新safeAreaLayoutGuide

旋转设备后未更新safeAreaLayoutGuide
EN

Stack Overflow用户
提问于 2020-06-05 14:17:39
回答 2查看 408关注 0票数 0

我给出了一个UIViewController输出,它使用自动布局来为视图控制器的视图内部的子视图设置约束。所有的约束都保存在代码中,没有故事板或xib。

我在代码中添加了safeAreaLayoutGuide,如下所示:

代码语言:javascript
复制
NSLayoutConstraint *const containerViewTopConstraint = [self.containerView.topAnchor constraintEqualToAnchor:self.view.safeAreaLayoutGuide.topAnchor];

问题是,在我从纵向到横向轮换之后,view.safeAreaLayoutGuide没有更新。它仍然是肖像中的旧safeAreaLayoutGuide。不知道我是不是错过了什么?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2020-06-06 05:47:15

听起来你曲解了"top“的概念?

布局指南不会“随设备旋转”。当您旋转手机时,self.view.safeAreaLayoutGuide.topAnchor不再是带有凹槽的边缘。

在这些图像中,青色标签(顶部/底部/前导/尾随)的所有4条边都被约束到视图的safeAreaLayoutGuide

在这些图像中,只有顶部边缘被约束到视图的safeAreaLayoutGuide -前导/拖尾/底部被约束到视图的各个锚点:

票数 0
EN

Stack Overflow用户

发布于 2020-06-07 13:55:43

事实证明我找到了原因,这很愚蠢,我的队友写错了代码……

代码语言:javascript
复制
-(void)viewDidAppear:(BOOL)animated {
    [super viewDidDisappear:animated];
    ...
}

这会导致safeAreaLayoutGuide在旋转后不被更新。

感谢你们所有人的回答。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62209241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档