1

我正在尝试使用 CardTableView,并且能够从我的 API 调用中呈现卡片。但是,我正在尝试加载多个 UILabel 并在卡片的内容区域内使用 UIStackViews 将它们布局。工具栏和底部栏已经有图标,将被适当地使用。当我嵌入 stackView 并且未设置translatesAutoresizingMaskIntoConstraints = false卡片间距正确时,如下图所示: 卡片间距正确,无堆栈视图渲染

但是,没有我的标签可见。下图显示,当我设置translatesAutoresizingMaskIntoConstraints = false标签显示,但卡间距都被破坏了。 堆栈视图渲染,但间距已关闭

这是我准备内容的方法:

private func prepareCardContent() {
    contentLabelStackView = UIStackView()
    contentLabelStackView.axis = UILayoutConstraintAxis.vertical
    contentLabelStackView.distribution = UIStackViewDistribution.equalSpacing
    contentLabelStackView.alignment = UIStackViewAlignment.leading
    contentLabelStackView.spacing = 0
    contentLabelStackView.addArrangedSubview(invitedLabel)
    contentLabelStackView.addArrangedSubview(teeUpTitle)
     contentLabelStackView.translatesAutoresizingMaskIntoConstraints = false
}

这是我准备卡片本身的代码:

private func preparePresenterCard() {
    card.toolbar = toolbar
    card.contentView = contentLabelStackView
    card.contentViewEdgeInsetsPreset = .vertically5
    card.bottomBar = bottomBar
    card.depthPreset = .depth3
    contentView.addSubview(card)
}

我不确定使用嵌套 StackView 与卡片的间距和布局有什么冲突。

4

1 回答 1

1

为 UIStackView 设置一个高度值 :)

于 2017-08-21T14:56:39.290 回答