ios - 自动布局约束和堆栈 View

标签 ios swift xcode autolayout constraints

我有 12 个按钮和两个 stackView,每 6 个按钮都在一个堆栈中。 并非所有按钮都始终显示。

我在某些情况下使用,例如:

buttonx.isHidden = true

我想要的是每个按钮的顶部约束始终与其上方的内容相距 8 个点,知道在每种情况下其上方的内容都可以是其他内容(可以是上堆栈 View 边框或另一个按钮的底部) )。

因此,此时显示哪种按钮组合(“.ishidden = false”)并不重要,始终按“8”点组织在另一个按钮的下面。

第一个按钮将位于距堆栈顶部边框 8 的位置,第二个按钮将位于距其上方按钮底部 8 的位置,依此类推...

2-如果屏幕足够宽,如何使两个堆栈 View 彼此靠近,然后如果屏幕不够宽,则如何使两个堆栈 View 彼此靠近。

我仍在学习如何使用自动布局和约束,非常感谢您的帮助!!

编辑:(为了清晰起见,照片)

[enter image description here]

例如在一种情况下:仅显示按钮 y、d、k。 我希望它们以相等的距离出现在堆栈 View 中。

最佳答案

首先,关于每个按钮之间的 8 点,您需要设置 stackView 的 spacing 属性(在属性检查器中找到它)

其次根据 2 个 stackView 的宽度之和来决定

1- 使 stack1 和 2 的顶部相等

2- 使 stack2 的顶部等于 stack1 的底部

可以通过编程方式完成以避免静态宽度

关于ios - 自动布局约束和堆栈 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50969978/

相关文章:

ios - 范围内的iOS随机数

ios - UIView 中心、原点和框架没有意义

android - Kotlin 多平台项目

iphone - 如何在我使用 NSClassFromString 动态创建的类中调用方法?

ios - UIStackView 中 UILabels 上的动画隐藏属性会导致不同的动画

ios - Swift 中的 Google SingIn 获取个人资料信息

swift - 在 UITableView 中存储单个 UISwitch 状态

ios - 将 UIButton 添加到数组中

swift - 对象 [89368] : Class VCWeakObjectHolder is implemented in both

ios - Xcode 编译错误 : Lipo: can't open input file