在UIPanGestureRecognizer中的框架上的UIView.animate
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在UIPanGestureRecognizer中的框架上的UIView.animate相关的知识,希望对你有一定的参考价值。
我正在尝试构建一个UIPanGestureRecognizer
委托,当它达到某个x值时移动UIView
的宽度/高度但是我遇到了这个奇怪的闪烁,当值超过阈值时发生(在下面的例子中为65px)。
@objc func moveCardRec(sender: UIPanGestureRecognizer){
if sender.translation(in: self).x < -65.0 {
self.makeButtonPop()
} else {
self.makeButtonUnPop()
}
}
这就像我正在移动x值时,平移手势正在移动一秒钟,当UIView
(我想要弹出/动画为秒)落后或重置帧时。没有线索。
附上现在正在发生的事情的GIF。你会看到一瞬间它会紧张不安。 makeButtonPop()
函数只是圆形图像视图框架上的UIView.animate
,其中带有复选标记。
答案
好的,我很蠢。花了好几个小时。
找到了解决方法。确保你想要动画的UIView
在一个包含的UIView
(像父母一样)内。所以上面的例子,紫色圆圈在UIView
内,不会改变大小。
父级中的子级更改大小。出于某些原因,当动画的UIView
和我正在拖动的那个在同一个容器/同一直接父母中时,他们彼此不喜欢并且闪烁。
希望这有助于其他人!
以上是关于在UIPanGestureRecognizer中的框架上的UIView.animate的主要内容,如果未能解决你的问题,请参考以下文章
SKScene 中的 UIPanGestureRecognizer
在UIPanGestureRecognizer中的框架上的UIView.animate
UIPanGestureRecognizer 状态结束后动画中的小问题