Reputation: 55
I would like to click and add subview at: index 3 position. But the constraint not update automatically. how can i refresh the layout when adding subview to uistack?
Thank you for your help very much
@objc func showMoreView() {
stackView.insertSubview(view3, at: 3)
stackView.superview?.layoutIfNeeded()
view.layoutIfNeeded()
}
Current Layout
view.addSubview(stackView)
stackView.addArrangedSubview(view1)
stackView.addArrangedSubview(view2)
stackView.addArrangedSubview(view4)
stackView.addArrangedSubview(view5)
Upvotes: 0
Views: 1212
Reputation: 36
Swift provides the following UIStackView
function to insert a view at a specified position:
func insertArrangedSubview(_ view: UIView, atIndex stackIndex: Int)
(see the documentation for more information)
Upvotes: 1
Reputation: 517
You need to use
func insertArrangedSubview(_ view: UIView, at stackIndex: Int)
like that:
stackView.insertArrangedSubview(view3, at: 3)
Documentation here
Upvotes: 0