Ios 字体变大时,如何将一个约束优先于另一个约束
我有一个带有以下约束的UILabel:Ios 字体变大时,如何将一个约束优先于另一个约束,ios,swift,nslayoutconstraint,Ios,Swift,Nslayoutconstraint,我有一个带有以下约束的UILabel: - Align Center Y to Superview (priority 750) - Top Space to View, greater than equal to 0 (priority 1000) 在正常模式下,ui标签是将中心对准Y,这是正常的。但是如果我进入辅助功能设置并设置为大字体(最大大小),我希望我的标签使用大于相等值的顶部空间 在这两种情况下,现在仍然使用将中心对齐到Y。当字体较大时,是否有方法使用其他优先级较高的约束 P
- Align Center Y to Superview (priority 750)
- Top Space to View, greater than equal to 0 (priority 1000)
在正常模式下,ui标签
是将中心对准Y
,这是正常的。但是如果我进入辅助功能设置并设置为大字体(最大大小),我希望我的标签使用大于相等值的顶部空间
在这两种情况下,现在仍然使用将中心对齐到Y
。当字体较大时,是否有方法使用其他优先级较高的约束
PS:在这个标签下面有2个其他标签,当字体大时会缩小,因为顶视图标签停留在屏幕中间而不是向上移动。
尝试这个
- Bottom space to view, equal to zero (multiplier 2)
- Top Space to View, greater than equal to 0
截图
项目-然后它将从一开始移动到顶部。这不是我想要的恐怕还是不行。我发现了很多限制错误。你是说对于大字体,“要查看的顶部空间”正在下降到0以下吗?考虑到这两个约束条件,这是不可能的。您是否在控制台指示“要查看的顶部空间”约束被破坏时出错?听起来你真正的意思是,你希望另外两个标签不收缩,而是更大的标签向上移动。如果是这样的话,增加他们对垂直压缩的阻力。@RobNapier没有移动到0以下。我试图增加顶部标签的阻力,但它仍然没有向上移动。当字体变大时,它将继续使用“将中心对齐到Y”约束。所以它仍然留在屏幕中央,因为底部没有空间,其他标签会缩小。@ RobNapier,我想你是想增加其他两个标签的抗性?我这样做了,现在前两个标签都不见了,只有最后一个。这意味着其他两个留在中间,可能被底部的一个覆盖。好,我设法使它工作。对于“将中心对齐到Y”,我将优先级从750(高)更改为250(低)。现在它起作用了。我认为只要一个值低于另一个约束就足够了,我错了。我用截图和代码更新了我的答案,它完美地工作了。