0

我想以相对的方式定位我的观点。我想使用百分比而不是像素。假设我想将按钮的中心定位在其超级视图高度的 25% 处。我该怎么做?

一种方法是:

button.topAnchor.constraint( equalTo: superView.topAnchor, constant: /* compute constant "dynamically") .isActive = true

但这感觉很愚蠢,因为我们multiplier在许多 Layout Margin API 函数中都有一个参数。

但是,如果我键入button.centerYAnchor.constraint,则建议的补全都不会显示任何带有multiplier参数的函数,除了名称中的 with systemSpacing。我研究过“系统间距”,但无法弄清楚它的作用。

如果我有这个约束:

button.topAnchor.constraintEqualToSystemSpacingBelow(rootView.topAnchor, multiplier: 0.2).isActive = true

该视图位于其 superView 顶部的正下方。

4

1 回答 1

0

我还没有找到使用布局锚点的方法,但这里是如何通过直接创建来做到这一点NSLayoutConstraint

NSLayoutConstraint(item: button, attribute: .centerY,
    relatedBy: .equal, toItem: superView, attribute: .bottom,
    multiplier: 0.25, constant: 0).isActive = true
于 2018-04-08T11:10:55.650 回答