【发布时间】:2019-05-16 17:07:30
【问题描述】:
虽然我将一个 UILabel 放入 UIStackView 的堆栈中,但一切正常。 但我需要的是在 UILabel 下实际放置一个 UIView 并保持 UILabel 的自身大小。 我只是想知道,有没有一种方法可以在不使用 UITableView 和自定大小的单元格的情况下实现这一目标? 我用了这段代码
let textLabel = UILabel()
textLabel.text = "zaciatok TEXTTEXT TEXT TEXT TEXTTEXT TEXT TEXT TEXTTEXT TEXT TEXT TEXTTEXT TEXT TEXT TEXTTEXT TEXT TEXT TEXTTEXT TEXT TEXT TEXTTEXT TEXT TEXT TEXTTEXT TEXT koniec"
textLabel.numberOfLines = 0
textLabel.sizeToFit()
textLabel.backgroundColor = .yellow
let testItemView = UIView()
testItemView.backgroundColor = .green
testItemView.addSubview(textLabel)
mainStackView.addArrangedSubview(testItemView)
但它显示的文本只有一行,这不是我需要的。
我已经用代码尝试了新的建议
mainStackView.distribution = .fill
let textLabel = UILabel()
textLabel.text = "zaciatok TEXTTEXT TEXT TEXT TEXTTEXT TEXT TEXT TEXTTEXT TEXT TEXT TEXTTEXT TEXT TEXT TEXTTEXT TEXT TEXT TEXTTEXT TEXT TEXT TEXTTEXT TEXT TEXT TEXTTEXT TEXT koniec"
textLabel.numberOfLines = 0
textLabel.sizeToFit()
textLabel.backgroundColor = .yellow
let testItemView = UIView()
testItemView.backgroundColor = .green
testItemView.addSubview(textLabel)
mainStackView.addArrangedSubview(testItemView)
testItemView.translatesAutoresizingMaskIntoConstraints = false
testItemView.heightAnchor.constraint(equalToConstant: 50).isActive = true
我明白了
【问题讨论】:
-
是否要从 testItemView 中为标签添加填充?
-
@RajeshKumarR 是的,但是,填充是不对称的,有 3 个圆角一个没有圆角,所以我相信我需要 UILabel 下的 UIView 来实现这一点。
标签: ios swift uilabel uistackview