将 StackView 嵌入到 MaterialSwift 卡片内容
Embedding StackView to MaterialSwift Card Content
我正在尝试使用 CardTableView,并且我能够从我的 API 调用中呈现卡片。但是,我正在尝试加载多个 UILabel,并在卡片的内容区域内使用 UIStackViews 对它们进行布局。工具栏和底部栏已经有图标,将适当使用。
当我嵌入 stackView 并且不设置 translatesAutoresizingMaskIntoConstraints = false
时,卡片的间距正确,如图所示:
但是我的标签中有 none 是可见的。下图显示当我设置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 时卡片的间距和布局有什么冲突。
为 UIStackView 设置一个高度值:)
我正在尝试使用 CardTableView,并且我能够从我的 API 调用中呈现卡片。但是,我正在尝试加载多个 UILabel,并在卡片的内容区域内使用 UIStackViews 对它们进行布局。工具栏和底部栏已经有图标,将适当使用。
当我嵌入 stackView 并且不设置 translatesAutoresizingMaskIntoConstraints = false
时,卡片的间距正确,如图所示:
但是我的标签中有 none 是可见的。下图显示当我设置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 时卡片的间距和布局有什么冲突。
为 UIStackView 设置一个高度值:)