为啥约束总是为零,故事板是不是防止边缘?
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,它将在这些边缘线之外工作。在边缘和提供的蓝线之间放置一个对象可能会干扰这种手势识别器。
【讨论】:
以上是关于为啥约束总是为零,故事板是不是防止边缘?的主要内容,如果未能解决你的问题,请参考以下文章