我如何将其转换为约束条件?
"V:|->=0-[contentView]->=0-|"
会不会像这样?
contentView.topAnchor.constraint(lessThanOrEqualTo: topAnchor, constant: 0.0)
contentView.bottomAnchor.constraint(lessThanOrEqualTo: bottomAnchor, constant: 0.0)
最佳答案
由于您没有指定哪个 View 是 contentView
的 superview
,我们将不得不使用 contentView.superview!
作为包含 View 。因此,您的视觉格式相当于:
contentView.topAnchor.constraint(greaterThanOrEqualTo: contentView.superview!.topAnchor, constant: 0.0)
contentView.bottomAnchor.constraint(lessThanOrEqualTo: contentView.superview!.bottomAnchor, constant: 0.0)
注意事项:
- 如果
contentView
已经被添加为另一个 View 的 subview (您应该在创建约束之前始终这样做),那么强制展开contentView.superview
是安全的。 contentView
将在屏幕上低于其superview
并且坐标会向下增长,因此它的偏移量会更大,从而使约束greaterThanOrEqualTo
super View 的topAnchor
。- 同样,
contentView
将结束于或接触其父 View 的bottomAnchor
,因此在这种情况下,常量
将为lessThanOrEqualTo
0
。
关于swift - 将大于的可视格式语言转换为约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48895319/