ios - UIStackView 中的重叠 View

标签 ios uistackview

我有一个水平堆栈 View ,我向其中添加了排列好的 subview (7 个单元格)。 堆栈中的每个单元格都有一个超出 View 边界的圆形标记(负约束)。 运行时,如下图所示,每个单元格都位于前一个单元格的标记之上。我想更改顺序以便角标(Badge)完全可见。

enter image description here

尝试使用 Z 索引但它没有帮助,因为层在某种程度上不平坦,正如您在以下 View 层次结构中看到的那样:

enter image description here

有什么想法或建议吗?

谢谢。

最佳答案

此 Swift 解决方案使用 UIView 方法 sendSubviewToBack(_:) ( docs here ) 反转堆栈 View subview 顺序:

@IBOutlet weak var stackView: UIStackView!

for view in stackView.arrangedSubviews {
    stackView.sendSubviewToBack(view)
}

当我们推进堆栈 View 的排列 View (从下到上)时,后面的(即更高的) View 被推到底部,从而颠倒顺序:-)


2022 年的事情:

甚至更快...

@IBOutlet weak var stackView: UIStackView!

stackView.arrangedSubviews.forEach({ stackView.sendSubviewToBack($0) })

关于ios - UIStackView 中的重叠 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34826834/

相关文章:

ios - 谷歌将不再允许在嵌入式浏览器中向谷歌发出 OAuth 请求

ios - StackView 内有 2 个 UILabels 的垂直布局问题

ios - 从后台线程添加到 UITableView 中的 UIStackView

ios - 回合制游戏中心在离线时显示不正确的游戏状态

ios - 在不处于编辑模式时对 tableView 中的行重新排序

iphone - 不兼容的整数到指针的转换?什么?

ios - 如何添加前导填充以在 UIStackView 中添加 View

ios - 快速在右侧栏按钮项目中添加角标(Badge)警报

ios - 如何使用UIStackview实现这个 View ?

ios - UIStackView Peek 和 Pop 覆盖故障