gpt4 book ai didi

ios - 动画 NSLayoutConstraint 乘数和/或处于事件状态

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

我想为自定义 View 设置约束变化动画。

我试过类似的方法:

if widthConstraint.isActive {
widthConstraint.isActive = false
widthConstraintA.isActive = true
} else {
widthConstraintA.isActive = false
widthConstraint.isActive = true
}
UIView.animate(withDuration: 1) {
imageView.layoutIfNeeded()
}

乘数相同(重新创建新约束,如此处 Can i change multiplier property for NSLayoutConstraint? )。但是所有状态都会立即发生变化。

是否有任何方法可以帮助在两个状态之间创建平滑的插值动画?

最佳答案

是的,假设 Storyboard 中的 view1 像这样对主视图(代码中的 self.view)有宽度限制

  view1Width = view * 0.7 + constant 

不是创建 2 个约束并通过更改 Active 属性 ORRR 在它们之间切换 [通过使用旧乘数停用当前约束并使用新乘数创建新约束] 保留 1 个约束并使用它不变

假设我想将 view1 乘数更改为 0.9 而不是 0.7

我可以这样做

  self.view1Width.constant += self.view.frame.size.width * 0.2

与减法相同

有了这个想法,您就不必纠结于如何为事件开/关设置动画,但您仍然可以使用

  self.view.layoutIfNeeded()

关于ios - 动画 NSLayoutConstraint 乘数和/或处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48452854/

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