加载视图后iOS自动布局约束的跳跃

Posted

技术标签:

【中文标题】加载视图后iOS自动布局约束的跳跃【英文标题】:iOS Auto Layout Constraint's Jumping After View Has Loaded 【发布时间】:2015-07-29 20:32:04 【问题描述】:

在此处制作了一个演示该问题的快速视频:https://vid.me/9kB5

当我删除约束时,文本不会在加载视图时跳转。但随后它就达不到目的了。

当我设置约束时,我使用了“重置为建议的约束”

有什么想法吗?

【问题讨论】:

你添加了什么样的约束?如果您有顶栏或底栏,请使用 layoutguide 而不是 superview 来正确约束您的子视图。 尝试使用布局指南和superview,两者都导致相同的结果。 这是一个pageViewController,如果是的话,子viewControllers是否在每次显示时都被初始化?还是保留下来? 【参考方案1】:

这不是一个约束问题。您的视图位于导航栏下方。您可以通过取消选中 Page View Controller 场景中的“Extend Edges - Under Top Bar”来修复它。 在代码中

- (void)viewDidLoad 
   [super viewDidLoad];
   self.edgesForExtendedLayout = UIRectEdgeNone;

【讨论】:

完美运行。谢谢!【参考方案2】:

不过,Hari Kunwar 的回答对我不起作用。

起作用的是改变我视图的顶部约束(跳跃的那个..也是顶部的那个)。

我的顶部约束是顶部布局指南 - 我删除了它,现在当我添加时,我选择了约束常量附近的小箭头并选择了视图而不是顶部布局指南......

【讨论】:

以上是关于加载视图后iOS自动布局约束的跳跃的主要内容,如果未能解决你的问题,请参考以下文章

关闭模式视图控制器后,框架不反映自动布局约束

iOS 自动布局过程

iOS 自动布局 ios 7 与 ios 8

自动布局 UICollectionView iOS 8

调整自动布局约束

我应该如何通过 Storyboard 为我的 iOS 视图设置自动布局/约束?