我有一个水平堆栈 View ,我向其中添加了排列好的 subview (7 个单元格)。 堆栈中的每个单元格都有一个超出 View 边界的圆形标记(负约束)。 运行时,如下图所示,每个单元格都位于前一个单元格的标记之上。我想更改顺序以便角标(Badge)完全可见。
尝试使用 Z 索引但它没有帮助,因为层在某种程度上不平坦,正如您在以下 View 层次结构中看到的那样:
有什么想法或建议吗?
谢谢。
最佳答案
此 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/