我正在研究Auto Layout Guide,但是水平约束的工作方式很简单,我无法理解在这个例子中它是如何计算Y轴上的垂直间距的(这是伪代码) :
Vertical Constraints:
Red.top = 1.0 * Superview.top + 20.0
...
Horizontal Constraints:
Red.leading = 1.0 * Superview.leading + 20.0
...
如果我们成像Superview.top位于(x:,y:100),那么根据第一个约束,Red.top将位于:1 * 100 + 20,这意味着(x:,y:120)它比Superview.top高!那么为什么它位于上图中的Superview.top下方??
答案 0 :(得分:1)
根据Auto Layout Guide,对于Top,Bottom和Baseline属性,当您向下移动屏幕时,值会增加。因此它适用于正常的Y轴值。
答案 1 :(得分:1)
我认为你有这个疑问,因为iOS坐标系缺乏知识,
在iOS中,有两种主要类型的坐标系:
左上角坐标系(ULO),其中绘图操作的原点位于绘图区域的左上角,正值向下和向右延伸。 UIKit和Core Animation框架使用的默认坐标系是基于ULO的。
左下原点坐标系(LLO),其中绘图操作的原点位于绘图区域的左下角,正值向上和向右延伸。 Core Graphics框架使用的默认坐标系是基于LLO的。
因此,根据 ULO ,我们从顶部开始测量y轴。