17

有人可以帮我理解界面构建器自动布局中“容器尾随空间”和“底部空间到底部布局”之间的区别吗?

Interface Builder 自动布局约束

我想放置一个布局约束,将视图的底部与其父视图的底部联系起来。以上两个听起来他们应该做到这一点。

任何澄清将不胜感激。

4

4 回答 4

22

前导/尾随是水平间距。(它没有标记为“左”和“右”,因为它交换了从右到左的语言。)上/下正是它所说的。

“到容器”和“到布局指南”的定义不同,但在实践中的工作方式相似。“到容器”约束控制 UI 元素与其父视图(或其他包含 UI 元素)边缘之间的空间。“To Layout Guide”约束是垂直间距的一种特殊情况——因为视图在 iOS 7 中的透明导航/状态/标签栏下方延伸,您通常希望控制 UI 元素相对于这些元素的显示位置,而不是相对于边缘的显示位置。看法。

所以...

我想放置一个布局约束,将视图的底部与其父视图的底部联系起来。

“底部空间到底部布局指南”是您想要的。如果没有标签栏,这将设置相对于超级视图底部的间距,如果存在标签栏,则相对于标签栏。

于 2013-10-03T20:33:41.710 回答
6

尾随空格

从当前视图的右边缘到下一个/邻居视图或父视图的空间

领先空间

从相邻视图或父视图到当前视图左边缘的空间

类似地,顶部和底部对应于顶部和底部空间。

于 2014-07-09T19:44:14.360 回答
6

不要忘记取消选中“相对于边距” 在此处输入图像描述

于 2015-05-06T09:05:48.650 回答
0

为了补充已经接受的答案,还值得注意的是,如果您将视图控制器中的视图替换为另一个视图,我发现实际上并未使用对布局指南的任何约束。我还没有研究过这个的确切细节,但我认为这是因为布局指南仅在从情节提要加载视图控制器期间可用。

出于这个原因,我建议使用布局到容器,但仅当您打算交换视图控制器的视图时。

当我想使用情节提要为我的应用程序创建空状态时,我遇到了这个问题。

例子:

-(void)viewDidLoad{ UIView* replacementView = //view loaded from storyboard self.view = replacementView //Layout guide margins will not be followed in replacement view }

于 2016-02-15T01:09:33.120 回答