swift - 将大于的可视格式语言转换为约束

标签 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)

最佳答案

由于您没有指定哪个 View 是 contentViewsuperview,我们将不得不使用 contentView.superview! 作为包含 View 。因此,您的视觉格式相当于:

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

注意事项:

  1. 如果 contentView 已经被添加为另一个 View 的 subview (您应该在创建约束之前始终这样做),那么强制展开 contentView.superview 是安全的。
  2. contentView 将在屏幕上低于其 superview 并且坐标会向下增长,因此它的偏移量会更大,从而使约束 greaterThanOrEqualTo super View 的 topAnchor
  3. 同样,contentView 将结束于或接触其父 View 的 bottomAnchor,因此在这种情况下,常量 将为 lessThanOrEqualTo 0

关于swift - 将大于的可视格式语言转换为约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48895319/

相关文章:

ios - 图像在约束条件下未按预期工作

iOS:视觉格式限制被打破

ios - 如何在 UICollectionView 中对照片库中的图像进行分页

ios - 如何使mostRecentLocation.horizo​​ntalAccuracy和hcKalmanFilter?.rValue可通过文本字段编辑? swift

cocoa - NSScrollview 自动布局问题

objective-c - UITextField显示异常

cocoa - NSLayoutConstraint 将 centerX 约束到 super View 的另一侧

ios - 使用Autolayout时应该在哪里手动添加 subview

ios - 如何在 geocodeAddressString 之后通过 segue 传递数据

ios - 如何将 UIScrollView 设置为 3D 方形