我如何将其转换为约束?
"V:|->=0-[contentView]->=0-|"
它看起来像这样吗?
contentView.topAnchor.constraint(lessThanOrEqualTo: topAnchor, constant: 0.0)
contentView.bottomAnchor.constraint(lessThanOrEqualTo: bottomAnchor, constant: 0.0)
答案 0 :(得分:1)
由于您尚未指定哪个视图是superview
的{{1}},因此我们必须使用contentView
作为包含视图。因此,您的可视格式相当于:
contentView.superview!
备注:强>
contentView.topAnchor.constraint(greaterThanOrEqualTo: contentView.superview!.topAnchor, constant: 0.0)
contentView.bottomAnchor.constraint(lessThanOrEqualTo: contentView.superview!.bottomAnchor, constant: 0.0)
添加为另一个视图的子视图(您应该在创建约束之前始终执行此操作),则强制解包contentView
是安全的。contentView.superview
将在屏幕下方开始低于其contentView
,并且坐标向下增长,因此其偏移量会更大,使约束superview
成为超级视图的greaterThanOrEqualTo
}。topAnchor
将在其超级视图的contentView
上方或触及,因此bottomAnchor
在这种情况下将为constant
lessThanOrEqualTo
。