我分别在其中添加了两个滚动视图和两个垂直堆栈视图。约束已经设置。我已经将两个堆栈视图连接为ViewController.swift中的插座集合。假设我有一个字符串数组,例如
我想使用for循环在顶部堆栈视图中添加一些按钮(与标签的长度相同)。我该怎么做呢?并且由于堆栈视图处于滚动视图中,我是否需要指定两个按钮之间的距离?
我的代码在下面。
@IBOutlet var topStackView: [UIStackView]!
@IBOutlet var bottomStackView: [UIStackView]!
@IBOutlet weak var enterItemTextField: UITextField!
let labels = ["a", "b", "c", "d", "e"]
override func viewDidLoad() {
super.viewDidLoad()
enterItemTextField.delegate = self
var buttons = [UIButton()]
for _ in 0..<labels.count {
let button = UIButton(type: UIButton.ButtonType.system)
# some operations on button
buttons.append(button)
}
# what do I do here?
}
Stackview调整位置的自由度较小。我已经删除了stackview并将按钮直接放在滚动视图上。
您需要之后
buttons.append(button)
topStackView.addArrangedView(button)
顺便说一句,您不需要收藏的单个项目就可以
@IBOutlet var topStackView: UIStackView!
@IBOutlet var bottomStackView: UIStackView!
代替
@IBOutlet var topStackView: [UIStackView]!
@IBOutlet var bottomStackView: [UIStackView]!
我需要指定两个按钮之间的距离吗?
没有,您不必这样做,但是您可以这样做
topStackView.spacing = 20