我想在UIView中动态添加四个到五个按钮。我的视图必须连续包含2个按钮,并基于按钮的数量包含2或3行。哪个是最好的方法?由于开销,我不想使用集合视图。我正在考虑在垂直堆栈视图中添加多个水平堆栈视图。但是我一直坚持创建堆栈视图。按钮的标题由Array中的服务提供。请建议我这样做的最佳方法。
PS:图像仅具有代表性。我需要的视图应该只有4到5个按钮
如果您的布局信息包含在变量中,例如[使用循环的想法]
let numberOfRows: Int
let buttonsPerRow: [Int]
然后构建布局时,您可以像这样循环遍历它们:
let verticalStackView = UIStackView()
//configure distribution, axis...
for i in 0..<numberOfRows {
let horizontalStackView = UIStackView()
//configure distribution, axis...
for j in 0..<buttonsPerRow[i] {
let b = UIButton()
//configure button
horizontalStackView.addArrangedSubview(b)
}
verticalStackView.addArrangedSubview(horizontalStackView)
}