IOS stackview addArrangedSubview在特定索引处添加

时间:2015-12-23 11:02:54

标签: ios swift uistackview

如何在UIStackView中的特定索引中添加排列的子视图?

类似的东西:

stackView.addArrangedSubview(nibView, atIndex: index)

2 个答案:

答案 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)
            }
        }
    }
}