【问题标题】:UIView.animate on frame when within a UIPanGestureRecognizerUIView.animate 在 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,其中带有复选标记。

【问题讨论】:

    标签: ios swift uiview uiviewanimation uipangesturerecognizer


    【解决方案1】:

    好吧,我傻了。花了几个小时。

    找到解决方法。确保您要设置动画的 UIView 位于包含的 UIView 内(如父级)。所以在上面的例子中,紫色圆圈在 UIView 内,不会改变大小。

    父级中的子级更改大小。由于某些原因,当动画UIView 和我拖动的那个在同一个容器/同一个直接父级中时,它们彼此不喜欢并且闪烁。

    希望这对其他人有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多