如何在UIStackView中的特定索引中添加排列的子视图?
类似的东西:
stackView.addArrangedSubview(nibView, atIndex: index)
答案 0 :(得分:36)
您的意思是要插入,而不是添加:
func insertArrangedSubview(_ view: UIView, atIndex stackIndex: Int)
答案 1 :(得分:0)
如果您不想在索引方面遇到麻烦,可以使用此扩展名
extension UIStackView {
func insertArrangedSubview(_ view: UIView, belowArrangedSubview subview: UIView) {
arrangedSubviews.enumerated().forEach {
if $0.1 == subview {
insertArrangedSubview(view, at: $0.0 + 1)
}
}
}
func insertArrangedSubview(_ view: UIView, aboveArrangedSubview subview: UIView) {
arrangedSubviews.enumerated().forEach {
if $0.1 == subview {
insertArrangedSubview(view, at: $0.0)
}
}
}
}