要解决按钮堆栈视图间距不起作用的问题,您可以使用 UIStackView
的编程方式来设置间距。
以下是一个示例代码,演示如何使用编程方式设置按钮堆栈视图的间距:
import UIKit
class ViewController: UIViewController {
var stackView: UIStackView!
override func viewDidLoad() {
super.viewDidLoad()
// 创建按钮堆栈视图
stackView = UIStackView()
stackView.translatesAutoresizingMaskIntoConstraints = false
stackView.axis = .vertical
stackView.alignment = .center
stackView.spacing = 10 // 设置间距为10
// 创建按钮
let button1 = UIButton()
button1.setTitle("Button 1", for: .normal)
button1.backgroundColor = .blue
let button2 = UIButton()
button2.setTitle("Button 2", for: .normal)
button2.backgroundColor = .red
// 将按钮添加到堆栈视图中
stackView.addArrangedSubview(button1)
stackView.addArrangedSubview(button2)
// 将堆栈视图添加到视图控制器的视图中
view.addSubview(stackView)
// 使用自动布局约束设置堆栈视图的位置和大小
NSLayoutConstraint.activate([
stackView.centerXAnchor.constraint(equalTo: view.centerXAnchor),
stackView.centerYAnchor.constraint(equalTo: view.centerYAnchor)
])
}
}
在这个示例中,我们创建了一个垂直方向的按钮堆栈视图,并设置了间距为10。然后,我们创建了两个按钮,并将它们添加到堆栈视图中。最后,我们使用自动布局约束将堆栈视图居中在视图控制器的视图中。
请注意,我们使用 addArrangedSubview
方法将按钮添加到堆栈视图中。这个方法会自动处理按钮之间的间距,因此我们不需要再手动设置间距。
上一篇:按钮对象变为偶数对象
下一篇:按钮放在下面定义的布局之下。