为什么我必须给rigthAnchor
的{{1}}约束赋予负值,以使视图的右边距为28。如果我给它一个正值,它将超出视图28个像素。
titleLabel
答案 0 :(得分:3)
因为按照此
titlelbl.right = view.right - 28
和说
view.right = titlelbl.right + 28
firstItem.anchor = seconfItem.anchor *乘数+/-常数
转换为
titleLabel.rightAnchor.constraint(equalTo: view.rightAnchor, constant: -28).isActive = true
OR
view.rightAnchor.constraint(equalTo: titleLabel.rightAnchor, constant: 28).isActive = true
如果您不喜欢负值
编辑:
-28时约束的含义
您要告诉自动布局将titlelbl的最大值x值设置为等于视图的最大值x负28
| -lbl + 28-|
但+28
| -lbl-| + 28 <<<视线外最大x
答案 1 :(得分:2)
我相信这与窗口的(X,Y)网格有关。
您正在将titleLabel的rightAnchor锚定到视图的rightAnchor。但是,如果“您的常数为28”,则约束该锚点28沿x轴指向,从而将标签移出视图的框架。
如果要通过编程方式添加这些约束,则要将常量沿x轴向左移动,必须将其指定为负值。