【问题标题】:Not able to satisfy NSLayoutConstraints while setting it programatically以编程方式设置时无法满足 NSLayoutConstraints
【发布时间】:2017-07-30 07:33:08
【问题描述】:

我正在尝试为标签提供约束 -> dateLabel 在视图内,这些是我给出的约束:

let horizontalConstraint = NSLayoutConstraint(item: dateLabel,
attribute: .leading, relatedBy: .equal, toItem: summaryView, 
attribute: .leadingMargin, multiplier: 1.0, constant: 10.0)

let verticalConstraint = NSLayoutConstraint(item: dateLabel, 
attribute: .top, relatedBy: .equal, toItem: summaryView, attribute:
.topMargin, multiplier: 1.0, constant: 5.0)

此外,我已将这些约束添加到我的视图中,例如 -> summaryView.addConstraints([horizontalConstraint, verticalConstraint])

但我收到一条消息说[LayoutConstraints] Unable to simultaneously satisfy constraints

任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 你添加了宽度和高度限制吗?
  • 未将其添加到标签中。有必要吗?
  • 是的。试试看,让我知道。
  • 您是否将translatesAutoResizingMaskIntoConstraints 设置为false
  • 实际上,您将两个 vie 之间的关系设为零,然后添加一些常数,尝试使用零常数。

标签: ios swift storyboard nslayoutconstraint


【解决方案1】:

如果您的标签是以编程方式使用的,则必须在 summaryView.addSubview(label) 之后调用 summaryView.addConstraints

【讨论】:

  • 这就是我所做的。我已将标签添加到视图中,该方法的最后一条语句实际上是addConstraints
  • 试试这个NSLayoutConstraint.activateConstraints([horizontalConstraint, verticalConstraint])或使用MisterFusion
猜你喜欢
  • 1970-01-01
  • 2021-06-17
  • 1970-01-01
  • 2019-01-24
  • 1970-01-01
  • 1970-01-01
  • 2016-11-23
  • 1970-01-01
  • 2015-05-15
相关资源
最近更新 更多