gpt4 book ai didi

ios - NSLayoutConstraint 边距为零而不是十六

转载 作者:行者123 更新时间:2023-12-01 19:57:37 26 4
gpt4 key购买 nike

我正在通过代码构建 UICollectionViewCell 界面。一切正常,除了正确的约束。当我运行应用程序时,标题标签的右边距为零。这是我的代码

let titleLabel: UILabel = {
let label = UILabel()
label.backgroundColor = UIColor.purple
label.translatesAutoresizingMaskIntoConstraints = false
return label
}()

func setupViews() {
addSubview(titleLabel)

// titleLabel
// top constraint
addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .top, relatedBy: .equal, toItem: self, attribute: .top, multiplier: 1, constant: 16))
// left constraint
addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .left, relatedBy: .equal, toItem: self, attribute: .left, multiplier: 1, constant: 8))
// right constraint
addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .right, relatedBy: .equal, toItem: self, attribute: .right, multiplier: 1, constant: 16))
// height constraint
addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .height, relatedBy: .equal, toItem: self, attribute: .height, multiplier: 0, constant: 20))
}

我认为这与 toItem: self 有关, 因为 selfuilabel我想把它关联到 UICollectionViewCell

最佳答案

问题是约束中项目的顺序。您目前说标签在其 super View 的右边缘 16 处。您可以切换 itemtoItem在您的正确约束下,或使用 -16作为你的常数。

所以要么这样:

addConstraint(NSLayoutConstraint(item: self, attribute: .right, relatedBy: .equal, toItem: titleLabel, attribute: .right, multiplier: 1, constant: 16))

或这个:
addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .right, relatedBy: .equal, toItem: self, attribute: .right, multiplier: 1, constant: -16))

将工作。

关于ios - NSLayoutConstraint 边距为零而不是十六,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41595094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com