UIView.animate 在 UIPanGestureRecognizer 中时在框架上
Posted
技术标签:
【中文标题】UIView.animate 在 UIPanGestureRecognizer 中时在框架上【英文标题】:UIView.animate on frame when within a UIPanGestureRecognizer 【发布时间】:2017-12-28 19:33:22 【问题描述】:我正在尝试构建一个 UIPanGestureRecognizer
委托,当它达到某个 x 值时移动 UIView
的宽度/高度,但是当值超过阈值时我遇到了这种奇怪的闪烁(在下面的示例中为 65 像素)。
@objc func moveCardRec(sender: UIPanGestureRecognizer)
if sender.translation(in: self).x < -65.0
self.makeButtonPop()
else
self.makeButtonUnPop()
当UIView
(我想要弹出/动画秒的那个)落后或重置帧时,就像我用平移手势移动x值的视图正在移动一秒钟。没有线索。
附上现在正在发生的事情的 gif。你会看到它在瞬间抖动。 makeButtonPop()
函数只是圆形图像视图框架上的UIView.animate
,其中带有复选标记。
【问题讨论】:
【参考方案1】:好吧,我傻了。花了几个小时。
找到解决方法。确保您要设置动画的 UIView
位于包含的 UIView
内(如父级)。所以在上面的例子中,紫色圆圈在 UIView
内,不会改变大小。
父级中的子级更改大小。由于某些原因,当动画UIView
和我拖动的那个在同一个容器/同一个直接父级中时,它们彼此不喜欢并且闪烁。
希望这对其他人有帮助!
【讨论】:
以上是关于UIView.animate 在 UIPanGestureRecognizer 中时在框架上的主要内容,如果未能解决你的问题,请参考以下文章