gpt4 book ai didi

ios - 添加带动画的约束查看

转载 作者:行者123 更新时间:2023-11-28 06:22:43 27 4
gpt4 key购买 nike

嘿,我正在尝试通过更改此代码的约束来引入 View

    UIView.animate(withDuration: 500, animations: {
self.forgetTopConstraint.isActive = false
self.view.addConstraint(NSLayoutConstraint(item: self.view, attribute: NSLayoutAttribute.centerY, relatedBy: NSLayoutRelation.equal, toItem: self.forgetPasswordView, attribute: NSLayoutAttribute.centerY, multiplier: 1, constant: 0))
})

forgetTopConstraint 是一个约束条件,它将 forgetPasswordView 的顶部锚定到 view 的底部,常量为 0,因此 forgetTopConstraint 不在 View 中,然后我尝试使用该代码将其动画化到 view 的中心,但它突然出现而不是动画

最佳答案

在没有看到更多周围代码或 View 设置的情况下,听起来您只需要在包含 View 上调用 layoutIfNeeded。这是实际执行应用更新约束的工作的方法。 layoutIfNeeded 由 View 的许多其他更改自动触发,但在希望它动画的情况下,您实际上不需要在动画 block 内调用任何其他布局更改。只需调用一个语句,它就会使您之前的所有更改都动画化:

self.forgetTopConstraint.isActive = false
self.view.addConstraint(NSLayoutConstraint(item: self.view, attribute: NSLayoutAttribute.centerY, relatedBy: NSLayoutRelation.equal, toItem: self.forgetPasswordView, attribute: NSLayoutAttribute.centerY, multiplier: 1, constant: 0))
UIView.animate(withDuration: 500, animations: {
self.view.layoutIfNeeded()
})

关于ios - 添加带动画的约束查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42865970/

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