从 UIStackView 获取视图的索引
Get View's index from UIStackView
我在 stackview
中添加了 2 个不同大小的视图。现在,当我单击任何视图的加号按钮时,我只想在其正下方添加一个视图。
我正在查看:
let index = superView.subviews.index(of: view)
然后我在做:
superView.insertArrangedSubview(newView, index + 1)
但实际上它是在不同位置添加新视图。
所以如果我尝试通过 .subview.index
获取索引,那么它总是 returns 最后一个索引
arrangedSubviews
和 subviews
数组不必相同(因为堆栈视图可以具有未“排列”的子视图)。即使它们具有相同的元素,它们也不必按相同的顺序排列。
所以:
if let index = stackView.arrangedSubviews.firstIndex(of: view) {
stackView.insertArrangedSubview(newView, at: index + 1)
}
我在 stackview
中添加了 2 个不同大小的视图。现在,当我单击任何视图的加号按钮时,我只想在其正下方添加一个视图。
我正在查看:
let index = superView.subviews.index(of: view)
然后我在做:
superView.insertArrangedSubview(newView, index + 1)
但实际上它是在不同位置添加新视图。
所以如果我尝试通过 .subview.index
获取索引,那么它总是 returns 最后一个索引
arrangedSubviews
和 subviews
数组不必相同(因为堆栈视图可以具有未“排列”的子视图)。即使它们具有相同的元素,它们也不必按相同的顺序排列。
所以:
if let index = stackView.arrangedSubviews.firstIndex(of: view) {
stackView.insertArrangedSubview(newView, at: index + 1)
}