使用 NSLayoutAnchor.constraintEqualToSystemSpacingAfter 时的控制台警告

Posted

技术标签:

【中文标题】使用 NSLayoutAnchor.constraintEqualToSystemSpacingAfter 时的控制台警告【英文标题】:Console warning when using NSLayoutAnchor.constraintEqualToSystemSpacingAfter 【发布时间】:2017-11-21 19:05:15 【问题描述】:

我正在使用NSLayoutAnchorconstraintEqualToSystemSpacingAfter 来构建我的布局。

NSLayoutConstraint.activate([
    customView.leadingAnchor.constraintEqualToSystemSpacingAfter(safeAreaLayoutGuide.leadingAnchor, multiplier: 1)
])

它确实有效,但在我激活约束后它会在控制台中引发警告:

对齐 [自定义视图] 的右边缘 带有 [第二个自定义视图] 的右边缘 不推荐。为您的约束使用显式常量来覆盖它。

我怎样才能让这个警告消失?

【问题讨论】:

【参考方案1】:

使用NSLayoutAnchor.constraint(equalTo:constant:) 代替那个方法。

NSLayoutConstraint.activate([
    customView.leadingAnchor.constraint(equalTo: safeAreaLayoutGuide.leadingAnchor, constant: 0)
])

【讨论】:

以上是关于使用 NSLayoutAnchor.constraintEqualToSystemSpacingAfter 时的控制台警告的主要内容,如果未能解决你的问题,请参考以下文章