UIStackView:将子视图推到边缘(“无限”间距)

Ric*_*hiy 5 cocoa-touch uikit ios autolayout uistackview

UIStackView用来定义列表的布局。

我正在尝试实现与此类似的效果:

||Item1---spacing---Item2||
Run Code Online (Sandbox Code Playgroud)

因此,这两个项目被推到UIStackView.

但是,项目组合在一起的每一个可能的组合distributionalignment

||Item1-Item2-----spacing-----||
Run Code Online (Sandbox Code Playgroud)

我尝试设置一个大的间距值,即 500。在这种情况下,Item2只是离开屏幕。

有什么办法来“配合” Item1,并Item2到的左,右两侧UIStackView,同时允许间隔取决于屏幕宽度的变化?

Ric*_*hiy 5

UIStackView 折叠并将其内在内容大小设置为其子视图和间距的总和。

通过添加一组约束来“拉伸” UIStackView,我设法获得了我想要的效果:

hStack.snp.makeConstraints { (make) in
  make.leading.trailing.equalToSuperview()
}
Run Code Online (Sandbox Code Playgroud)