swift 堆栈insertSubview & 自动刷新布局问题

swift Stack insertSubview & auto refresh layout problem

我想在索引 3 位置单击并添加子视图。但约束不会自动更新。添加子视图到uistack时如何刷新布局?

非常感谢您的帮助

@objc func showMoreView() {
        stackView.insertSubview(view3, at: 3)
        stackView.superview?.layoutIfNeeded()
        view.layoutIfNeeded()
    }
    

当前布局

 view.addSubview(stackView)
 stackView.addArrangedSubview(view1)       
 stackView.addArrangedSubview(view2)       
 stackView.addArrangedSubview(view4)
 stackView.addArrangedSubview(view5)

你需要使用

func insertArrangedSubview(_ view: UIView, at stackIndex: Int)

像那样:

stackView.insertArrangedSubview(view3, at: 3)

文档here

Swift提供如下UIStackView函数在指定位置插入视图:

func insertArrangedSubview(_ view: UIView, atIndex stackIndex: Int)

(有关详细信息,请参阅 documentation