gpt4 book ai didi

ios - 从 View Controller 对负 y 原点进行动画处理会破坏约束

转载 作者:行者123 更新时间:2023-11-29 01:14:04 25 4
gpt4 key购买 nike

我有 2 个 View Controller ,让我们将它们称为 ViewControllerAViewControllerB 在具有自动布局的 Storyboard 中设置。我想在 2 个 View Controller 之间制作上下滑动动画。

启动后,ViewControllerA 在屏幕上可见。当一个 Action 被触发时,我希望 ViewControllerB 向下滑动,所以它的 view.origin.y 在动画开始和结束时有一个负值 (-480) view.origin.y为0。

但是,在执行此动画时,Xcode 会提示无法同时满足约束。

如果想要使用向上滑动动画从 ViewControllerB 返回到 ViewControllerA 进行动画处理,那么 ViewControllerAview.origin.y 在动画开始和结束时是一个正值 (480),它的 view.origin.y 是 0 并且 Xcode 不会唠叨任何关于约束的事情。

当使用负 y 值制作动画时,我需要考虑一些特别的事情吗?

最佳答案

为您的约束而不是 View 的框架设置动画。在使用自动布局时更改 View 的框架可能会产生意想不到的结果,您应该始终认为这是不行的。要为约束设置动画,您需要做的就是调用:

constraint.constant += 200 // where constraint is NSLayoutConstraint
view.setNeedsUpdateConstraints()
UIView.animateWithDuration(0.3) { () -> Void in
view.layoutIfNeeded()
}

关于ios - 从 View Controller 对负 y 原点进行动画处理会破坏约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35429111/

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