gpt4 book ai didi

ios - Swift 移除纵横比约束

转载 作者:可可西里 更新时间:2023-11-01 00:39:12 24 4
gpt4 key购买 nike

有没有办法消除宽高比限制?

例如

let aspectRatio = messageImage.constraint(withIdentifier: "aspectRatio")
aspectRatio?.isActive = false

我需要保留对象的所有约束,但只删除纵横比

enter image description here

这种性质的东西......

最佳答案

假设您有一个 imageView 的引用并且给约束一个标识符。
在您的情况下,您已使用标识符命名约束:aspectRatio

所以对于上面的内容,你可以这样做:

//Get constraints filtered against a user-defined identifier
let filteredConstraints = imageView.constraints.filter {
$0.identifier == "aspectRatio"
}

//Get the first constraint (...as per your case)
let aspectRatio = filteredConstraints.first

//Deactivate it
aspectRatio?.isActive = false

扩展解决方案

要进一步改进这一点,您可以将 UIView 扩展为:

extension UIView {

func constraint(withIdentifier identifier: String) -> NSLayoutConstraint? {
let filteredConstraints = self.constraints.filter {
$0.identifier == identifier
}

return filteredConstraints.first
}

}

现在你终于可以做你最初想做的事了,即:

let aspectRatio = imageView.constraint(withIdentifier: "aspectRatio")
aspectRatio?.isActive = false

关于ios - Swift 移除纵横比约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49975815/

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