将视觉格式语言转换为大于约束

时间:2018-02-20 22:33:03

标签: swift autolayout visual-format-language

我如何将其转换为约束?

"V:|->=0-[contentView]->=0-|"

它看起来像这样吗?

contentView.topAnchor.constraint(lessThanOrEqualTo: topAnchor, constant: 0.0)
contentView.bottomAnchor.constraint(lessThanOrEqualTo: bottomAnchor, constant: 0.0)

1 个答案:

答案 0 :(得分:1)

由于您尚未指定哪个视图是superview的{​​{1}},因此我们必须使用contentView作为包含视图。因此,您的可视格式相当于:

contentView.superview!

备注:

  1. 如果已将contentView.topAnchor.constraint(greaterThanOrEqualTo: contentView.superview!.topAnchor, constant: 0.0) contentView.bottomAnchor.constraint(lessThanOrEqualTo: contentView.superview!.bottomAnchor, constant: 0.0) 添加为另一个视图的子视图(您应该在创建约束之前始终执行此操作),则强制解包contentView是安全的。
  2. contentView.superview将在屏幕下方开始低于其contentView,并且坐标向下增长,因此其偏移量会更大,使约束superview成为超级视图的greaterThanOrEqualTo }。
  3. 同样,topAnchor将在其超级视图的contentView上方或触及,因此bottomAnchor在这种情况下将为constant lessThanOrEqualTo