gpt4 book ai didi

ios - UIView 动画完成 block 以 TRUE 调用两次

转载 作者:行者123 更新时间:2023-11-30 12:08:49 28 4
gpt4 key购买 nike

非常简单的动画:

UIView.animate(withDuration: 3, delay: 0, options: .curveLinear, animations: {
self.imageViewA.snp.remakeConstraints({ (make) in
make.bottom.equalTo(50);
})
self.layoutIfNeeded();
}, completion: {(done) in
print(done); //called twice, both times as true
});

动画效果很好。但是,完成 block 被调用两次。这也很好,我知道我需要检查 bool 值以查看它是否真正完成。好吧,不仅完成 block 被调用了两次,而且两次,done 都是 TRUE。

我如何知道动画是否真正完成?

最佳答案

完成 block 只能在每次动画完成时调用一次。确保动画不会被多次调用。

在您列出的代码的开头添加一个断点,对其进行编辑以记录一些消息,例如“动画开始”,并将其设置为在评估后继续。

如果您多次看到该消息,您可以设置断点以每次停止并查看调用堆栈以查看调用来自何处。

如果它没有被调用两次,那么可能是时候提交雷达了......

关于ios - UIView 动画完成 block 以 TRUE 调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46329020/

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