gpt4 book ai didi

ios - 设置乘数时自动布局中心 y 对齐奇怪的行为

转载 作者:行者123 更新时间:2023-11-28 19:38:21 25 4
gpt4 key购买 nike

我的 Storyboard中有一个具有动态高度的辅助 View ,这是使布局响应式的常见做法。

但是,当我引入乘数时会发生一些奇怪的事情。

蓝色按钮与左侧白色 View 的中心 y 对齐:

enter image description here

将乘数值更改为 0.5 应该使按钮与白色 View 前半部分的中心对齐,至少在与父 View 对齐时它是这样工作的。

相反,我最终得到了这样的结果: enter image description here

蓝色按钮的高度等于父 View 高度的 0.05 倍。白色 View 高度等于蓝色按钮高度的4倍

我不知道是什么问题导致了这种奇怪的对齐。我怀疑它可能是动态高度值,所以我尝试设置显式高度值,但结果完全一样。

最佳答案

你说如果按钮是 Center Y 乘数 0.5,那么它应该定位在那个白色 View 的 1/4 处。不,那是行不通的那..让我们用等式检查一下

乘数适用于这个等式

 FirstItem.Attribute1 = (SecondItem.Attribute2 * Multiplier) + Constant

你的约束是 Button.Center Y = BlankView.center Y .. 所以这就是方程式的填充方式

 Button.Center Y = (BlankView.center Y * 1) + 0 

所以问题是 BlankView.Center Y 的值是多少...答案是

 BlankView.Center Y = HeightOfSuperviewOFBlankView - (Y positionOFBlankView + (BlankViewHeight / 2))
// in your case it would be 603 - (483 +(120/ 2)) = 543

现在移动到您的等式中心 Y,乘数 0.5

 Button.Center Y = (543 * 0.5) + 0  // 271.5

因为你的按钮位置与中心 Y 被放置在

 Button.Center Y = 271.5 - (buttonHeight / 2) 
// if we take buttonHeight = 30 than it should be 257.5 (approx 257)

我希望现在您了解带乘数的中心 Y 的工作原理...

关于ios - 设置乘数时自动布局中心 y 对齐奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36620258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com