我的UIStackView组件未在水平方向对齐

时间:2020-07-02 08:46:10

标签: ios swift uistackview

我在垂直视图中有一个水平的堆栈视图,而水平视图中的元素未对齐。

like here

vs

how I want it to look

这是我到目前为止尝试过的

<fieldset>

2 个答案:

答案 0 :(得分:1)

我认为您在混合使用“水平”和“垂直”两个术语。横向(从左到右或从右到左)。垂直是上下的。

.axis = .horizontal上使用UIStackView时,.alignment属性控制垂直对齐方式。

这些选项是:

  • .top
  • .center
  • .bottom
  • .firstBaseline
  • .lastBaseline

可能想要.center ...尝试这些选项中的每一个,看看是否可以获得您想要的结果。

答案 1 :(得分:0)

尝试在有约束的视图中包装clockImage。例如:

let clockImage = UIImageView(image: #imageLiteral(resourceName: "Shape 8"))
clockImage.contentMode = .scaleAspectFit

let view = UIView()
view.addSubview(clockImage)
NSLayoutConstraint.activate([
     clockImage.topAnchor.constraint(equalTo: view.topAnchor, constant: 0),
     clockImage.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0),
     clockImage.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0),
     clockImage.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0)
])

然后,添加subStackView.addArrangedSubview(clockImage)而不是subStackView.addArrangedSubview(view)