调试autolayout时自动调整掩码字符串的含义是什么,例如h = - &v = - & - ?

Dan*_*ell 52 cocoa autolayout

我猜他们必须参考struts和spring模型,但我找不到它们.当你NSLog约束他们有时表现为无证类的描述字符串NSAutoresizingMaskLayoutConstraint.我已经注意到了至少3种不同类型:h=---,h=--&,h=-&-具有水平和垂直版本.

调试受约束的布局时,它们会出现很多变化.

jrt*_*ton 107

如果指定自动调整掩码而不是约束,或者根本不指定约束,则视图将具有NSAutoResizingMaskLayoutConstraint约束而不是NSLayoutConstraints.如果设置translatesAutoresizingMaskIntoConstraintsNO,则不会出现这些约束.您不能在单个视图上混合和匹配,或者您得到不可满足的约束错误.

我设置了一个快速测试项目,其中包含各种自动调整掩码的组合,并且日志格式非常简单.

  • h=v=表示我们正在谈论水平或垂直方向的约束.
  • - 表示固定大小
  • & 表示灵活的尺寸
  • 符号的顺序表示边距,尺寸,边距

因此,h=&-&意味着您具有灵活的左右边距和固定宽度,v=-&-意味着固定的顶部和底部边距以及灵活的高度,等等.

  • "v = - &"怎么样?这是固定的顶部间隙,固定高度,灵活的底部间隙? (3认同)