问题是如何在不支持堆栈视图的较旧iOS版本中实现相同的结果.
我想出的一个解决方案是粗糙的,看起来不太好.再次,您将3个按钮放在一行,并使用约束将它们固定到最近的邻居.在这样做之后,您显然会看到内容优先级歧义错误,因为自动布局系统不知道哪个按钮需要在其他方面增长/收缩.
不幸的是,在应用启动之前,标题是未知的,所以你可以随意选择一个按钮.让我们说,我已经将水平内容的中间按钮的优先级从标准250缩小到了249.现在它会在其他两个之前增长.另一个问题是左和右按钮严格缩小到其内容宽度,没有任何好看的paddings,如在Stack View版本.
解决方法
想像一下,我有三个标签:
> firstLabel内在内容大小等于(62.5,40)
> secondLabel内在内容大小等于(170.5,40)
> thirdLabel内在内容大小等于(54,40)
Strucuture
-- ParentView -- -- UIView -- (replace here the UIStackView) -- Label 1 -- -- Label 2 -- -- Label 3 --
约束
例如UIView有这样的限制:
view.leading = superview.leading,view.trailing = superview.trailing,它是垂直居中的
UILabels约束
SecondLabel.width等于:
firstLabel.width *(secondLabelIntrinsicSizeWidth / firstLabelIntrinsicSizeWidth)
ThirdLabel.width等于:
firstLabel.width *(thirdLabelIntrinsicSizeWidth / firstLabelIntrinsicSizeWidth)
我会回来更多的解释
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。