gpt4 book ai didi

swift - 以编程方式添加负约束

转载 作者:搜寻专家 更新时间:2023-11-01 05:54:56 24 4
gpt4 key购买 nike

为什么我必须为 titleLabelrigthAnchor 约束赋予负值,以便从 View 的右侧留出 28 个边距。如果我只给它一个正值,它就会超出 View 28 个像素。

private func setupLayout() {
view.addSubview(imageView)
view.addSubview(titleLabel)

// *** imageView ***
if #available(iOS 11.0, *) {
imageView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 116).isActive = true
} else {
imageView.topAnchor.constraint(equalTo: view.topAnchor, constant: 116).isActive = true
}
imageView.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
imageView.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
imageView.heightAnchor.constraint(equalToConstant: 224).isActive = true

// *** titleLabel ***
titleLabel.topAnchor.constraint(equalTo: imageView.bottomAnchor, constant: 25).isActive = true
titleLabel.rightAnchor.constraint(equalTo: view.rightAnchor, constant: -28).isActive = true
titleLabel.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 28).isActive = true
}

最佳答案

因为根据这个

titlelbl.right = view.right - 28

等于说

view.right = titlelbl.right + 28

firstItem.anchor = seconfItem.anchor * multiplier +/- constant

转化为

titleLabel.rightAnchor.constraint(equalTo: view.rightAnchor, constant: -28).isActive = true

view.rightAnchor.constraint(equalTo: titleLabel.rightAnchor, constant: 28).isActive = true

如果你不喜欢负值

编辑:

约束为-28时的含义

你告诉自动布局将 titlbl 的最大 x 值设置为等于 View 的最大 x 值减去 28

| - lbl + 28 - |

但是 +28

| - lbl - | + 28 <<< out of view max x

关于swift - 以编程方式添加负约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52227255/

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