Ios 自动布局最大宽度,同时保持可分割性

Ios 自动布局最大宽度,同时保持可分割性,ios,autolayout,Ios,Autolayout,我希望在视图的superview中使用Auto Layout来获得最大宽度,同时保持宽度可以被7整除。Auto Layout不直接支持整除。如果您希望它可以被7整除,因为有7个子图元的大小和分布是相等的,那么您可以为这些子图元设置这些约束,并将这些子图元与包含视图关联起来,这样您就可以实现这一点 如果您自然没有这样的子元素,您可以人为地添加它们,以实现您的7除要求。您可以添加UILayoutGuides(如果目标设置>=iOS 9.0)或隐藏子视图(如果目标设置为 无论您是自然地拥有这样的子元素

我希望在视图的superview中使用Auto Layout来获得最大宽度,同时保持宽度可以被7整除。

Auto Layout不直接支持整除。如果您希望它可以被7整除,因为有7个子图元的大小和分布是相等的,那么您可以为这些子图元设置这些约束,并将这些子图元与包含视图关联起来,这样您就可以实现这一点

如果您自然没有这样的子元素,您可以人为地添加它们,以实现您的7除要求。您可以添加
UILayoutGuide
s(如果目标设置>=iOS 9.0)或隐藏子视图(如果目标设置为 无论您是自然地拥有这样的子元素,还是仅仅为了这个目的而添加它们,方法都是相同的。设置约束,使它们具有相同的宽度。设置约束,将它们放在一行中(一个的尾随等于下一个的前导)。通过将第一个视图的前缘设置为容器的前缘,将最后一个视图的后缘设置为容器的后缘,设置约束以使其组合宽度等于包含视图的宽度

您需要设置一些垂直约束来指示其垂直位置和大小,但这些约束与此问题相关

现在,设置容器相对于其superview的约束。例如,在其superview中水平和垂直居中容器的约束,以及使容器的前缘与superview的前缘相等但具有非必需优先级的约束(例如900)。它必须是非必需的,因为有时必须将其打破,以保持居中和内部约束所暗示的可除以7的宽度。但是,即使必须打破,自动布局系统也会尝试使其尽可能接近,这就是使容器尽可能宽的原因

您还需要一个约束,即容器的前缘在所需的优先级下大于或等于superview的前缘。这是因为,否则,自动布局系统可能会使容器略宽于superview,如果这是最接近主视图时与superview完全相同的宽度获得可被7整除的宽度