我正在尝试构建一个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
和我正在拖动的那个在同一个容器/同一直接父母中时,他们彼此不喜欢并且闪烁。
希望这有助于其他人!