如何制定约束" 5-53"观点之间的空间?

时间:2015-02-22 22:47:27

标签: ios interface-builder autolayout

当我想制定约束时说布局系统在两个视图之间可以有至少5个点和最多53个点,例如

  1. ViewA.Leading大于或等于ViewB.Trailing 5(pri 1000乘数1)
  2. ViewA.Leading小于或等于ViewB.Trailing 53(pri 1000乘数1)
  3. 界面生成器总是对我不满,给我“不平等约束歧义”#34;错误。如果这不是制定这种约束的方式,那该怎么办呢?

    (拜托,我坚持通过Interface Builder在故事板中表达约束)

    干杯

    的Nik

1 个答案:

答案 0 :(得分:2)

模棱两可的是,自动布局系统并不确切知道要放多少空间。您已成功对允许的空间范围进行了限制,但仍有许多解决方案。例如,20分有效,但40分也是如此,31.2875也是如此。

系统需要额外的信息来选择特定距离。如果所有其他约束允许灵活性,您会特别喜欢多少空间?

例如,您可以设置一个约束ViewA.Leading等于ViewB.Trailing加20但优先级较低。较低的优先级将允许它被更高优先级的约束和诸如内容拥抱或压缩阻抗优先级之类的事情所覆盖。但是,在其他条件相同的情况下,系统将尝试20或尽可能接近20。这消除了歧义。

但是,最终,你需要决定系统在剩余自由度时如何解决问题并给予系统相应的约束以消除这种自由,因此它可以得出一个正确的答案。