【发布时间】:2019-07-26 12:59:03
【问题描述】:
我有行数为 0 的 uilabel,并将 4 条边的编程约束设置为超级视图。当我运行时,我看到标签没有显示多行,但是在我第一次定位设备后,它开始显示多行,有什么帮助吗?
private let headerLabel: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.numberOfLines = 0
return label
}()
let leading = headerLabel.leadingAnchor.constraint(equalTo: contentView.leadingAnchor)
let top = headerLabel.topAnchor.constraint(equalTo: contentView.topAnchor)
let trailing = headerLabel.trailingAnchor.constraint(equalTo: contentView.trailingAnchor)
let bottom = headerLabel.bottomAnchor.constraint(equalTo: contentView.bottomAnchor)
NSLayoutConstraint.activate([leading, top, trailing, bottom])
【问题讨论】:
-
听起来很奇怪。您有任何设置标签的代码吗?
-
添加到问题中
-
您的约束未激活...您必须致电
leading.activate = true -
不,我也添加了约束 NSLayoutConstraint.activate([leading, top, trailing, bottom])
-
另外,你在
headerLabel上设置了约束,而你的标签名称是lbl,当你显示部分代码时真的很混乱。另外,您的 superView 可能存在问题..它不够大。可能要打开 viewHiarchy 并检查高度?
标签: ios swift autolayout uilabel