使用乘数的 Swift 约束与尾随但不领先
Posted
技术标签:
【中文标题】使用乘数的 Swift 约束与尾随但不领先【英文标题】:Swift constraint using multiplier working with trailing but not leading 【发布时间】:2019-04-08 10:33:03 【问题描述】:我有以下两个文本 Timer 约束工作正常。但是,当只使用前导约束对 Score 做同样的事情时,它就会卡住。
有人知道我错过了什么吗?
【问题讨论】:
【参考方案1】:因为前导的值为零,与尾随 which = view width 不同,所以将乘数应用于零会导致零
你也可以使用 centerX / trailing
【讨论】:
为什么它也适用于常量为零的文本“Timer”? 因为定时器的前导值大于 0 ,所以它的前导可以受乘数的影响 那么我应该怎么做才能修复分数? 它将与屏幕宽度成比例向右移动,因为不同设备的 centerX 值不同【参考方案2】:只需将 Score 的前导 Constrain 更改为 Superview.Trailing 而不是 Superview.Leading :
然后将Score约束乘数设置为6.27。 我很快就会用我所做的计算来更新答案。
更新:
Score.Leading 常数与 Superview.Traling 常数的乘数为: 乘数 = View.width / (View.width - View.width / 1.2)
在我的情况下,iPhone X 的视图宽度是 414
414 / 1.2 = 345
414 - 345 = 69
414 / 69 = 乘数
【讨论】:
以上是关于使用乘数的 Swift 约束与尾随但不领先的主要内容,如果未能解决你的问题,请参考以下文章
Swift 中的尾随和前导约束以编程方式 (NSLayoutConstraints)