将StackView嵌入到MaterialSwift卡内容中

时间:2017-08-20 20:06:29

标签: swift3 cosmicmind material-swift

我正在尝试使用CardTableView,我可以从API调用中呈现卡片。但是,我正在尝试加载多个UILabel,并使用UIStackViews在卡的内容区域中进行布局。工具栏和底栏已经有图标,将被适当使用。 当我嵌入stackView并且不设置translatesAutoresizingMaskIntoConstraints = false时,卡片间隔正确,如下图所示: Correct spacing of cards, no stack views rendering

然而,我的标签没有可见。下图显示当我设置translatesAutoresizingMaskIntoConstraints = false时标签显示,但卡间距全部被破坏。 stack views render, but spacing is off

以下是我准备内容的方法:

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时卡的间距和布局会发生什么冲突。

1 个答案:

答案 0 :(得分:1)

将高度值设置为UIStackView:)