与SnapKit Autolayout没有按预期的方式响应
问题描述:
只是尝试使用SnapKit自动布局添加UILabel。我使用的代码如下:与SnapKit Autolayout没有按预期的方式响应
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = .lightGray
let userNameLabel = UILabel()
userNameLabel.text = "Dinesh nagarajan"
userNameLabel.backgroundColor = .white
self.view.addSubview(userNameLabel)
userNameLabel.snp.makeConstraints { (make) in
make.top.leading.trailing.height.equalTo(40)
}
}
在这里,我刚才提到的约束前沿和后沿等于40,但我得到的结果是比代码不同。我附上了上面代码的参考图片。为什么它的表现与预期不同?
答
userNameLabel.snp.makeConstraints { (make) in
make.top.leading.trailing.equalTo(view).inset(40)
make.height.equalTo(40)
}
好像与约束自己的问题。如果你使用插图进行定位并设置一个明确的高度,它应该会更好一些。
运行/调试应用程序时,实际的自动布局约束值是什么?它被“夹住”在右边缘,还是延伸过去边缘?如果您尚未使用Debug View Hierarchy来检查元素。 – DonMag
@DonMag它裁剪在右边缘。 –
我不使用SnapKit,但它*看起来像跟踪约束的问题。如果删除'.trailing'部分,并添加第二行说:'make.trailing.equalTo(-40)'?会发生什么? – DonMag