📜  stack view swift 5 添加间距 - Swift (1)

📅  最后修改于: 2023-12-03 14:47:42.344000             🧑  作者: Mango

Stack View Swift 5 添加间距

在使用 Stack View 进行界面布局时,通常需要在子视图之间添加一些间距。Stack View 提供了多种方式来控制子视图之间的间距。下面是一些可选的方法:

  • spacing

通过在 Interface Builder 中调整 Stack View 的 Spacing 属性,可以直接设置子视图间的间距。

  • Distribution

Stack View 的 Distribution 属性决定了子视图在 Stack View 中的排列方式。如果 Distribution 属性设置为 equalSpacing,则子视图之间会保持相等的间距。

let stackView = UIStackView()
stackView.axis = .vertical
stackView.alignment = .leading
stackView.distribution = .equalSpacing
  • 添加间距视图

可以在 Stack View 中添加一个或多个间距视图,来控制子视图之间的间距。这些间距视图的 isHidden 属性可以通过代码进行操作。

let stackView = UIStackView()
stackView.axis = .vertical
stackView.alignment = .leading
stackView.distribution = .fill

// 添加间距视图
let spacerView = UIView()
spacerView.heightAnchor.constraint(equalToConstant: 8).isActive = true
spacerView.widthAnchor.constraint(equalToConstant: 8).isActive = true
stackView.addArrangedSubview(spacerView)

// 添加子视图
let childView = UIView()
childView.heightAnchor.constraint(equalToConstant: 50).isActive = true
childView.widthAnchor.constraint(equalToConstant: 50).isActive = true
stackView.addArrangedSubview(childView)

// 隐藏间距视图
spacerView.isHidden = true

以上是常用的几种方法,当以上方法不能满足需要时,还可以通过实现自定义布局,来控制 Stack View 中子视图的间距。

参考资料