为啥约束总是为零,故事板是不是防止边缘?

Posted

技术标签:

【中文标题】为啥约束总是为零,故事板是不是防止边缘?【英文标题】:Why constraints is always Zero,is Storyboard preventing from edges?为什么约束总是为零,故事板是否防止边缘? 【发布时间】:2017-07-06 05:55:30 【问题描述】:

让我试着解释一下我的问题。我在Storyboard/Xib 的应用程序设计过程中已经注意到了很长时间。在所有情况下,例如将一些控件拖入storyboard 时,显然它显示蓝线有助于我们正确放置控件。但它似乎阻止了UIView(主视图)布局中的控件在控制器上放置边缘。

当我们试图放置控件时,蓝线会阻止我们进入边缘。见下图

但是为什么约束总是为零,即使我们没有被放置在边缘......它应该大约是 10,10,10..,

所以我的Qus是

    Storyboard/Autolayout 是否阻止在边缘放置控件? 如果是。那么为什么所有约束都为零? 如果没有。那么角落蓝线有什么用(例如:第一张图片)?

【问题讨论】:

【参考方案1】:

它们是每个视图的 内容边距,距实际边界 8 个点。请查看this的答案,里面有详细的解释。您也可以在边缘放置控件,只需取消选中 constrain to margins 即可

【讨论】:

【参考方案2】:

    故事板/自动布局不会阻止在边缘放置控件,您始终可以将对象放置在那里并通过取消选中自动布局菜单中的“限制到边距”选项来应用自动布局。

    它为零,因为选中了“限制到边距”选项。只要选中“约束到边距”选项,就会从该边界线计算放置的对象距离。取消选中它,您将获得边缘的精确值。

    这条蓝线的用途是……如果您添加任何 UIScreenEdgePanGestureRecognizer,它将在这些边缘线之外工作。在边缘和提供的蓝线之间放置一个对象可能会干扰这种手势识别器。

【讨论】:

以上是关于为啥约束总是为零,故事板是不是防止边缘?的主要内容,如果未能解决你的问题,请参考以下文章

iPhone 上通用故事板的约束

为啥我的 UIImageView 放在故事板上时会模糊?

代表为零,使用故事板嵌入segue

打开故事板时如何防止 XCode5 挂起/沙滩球?

故事板布局与屏幕边缘齐平,但在实际 iPhone 7 Plus 中显示间隙

故事板约束(Xcode)