如何在UIKit(swift 4)中保持动画的同时与视图进行交互?

时间:2018-06-12 10:53:50

标签: swift animation uiview uiviewanimation user-interaction

我有一组形状(UIView s),可以使用UIPanGestureRecognizer在屏幕上移动,并且应该在用户触发动画后连续不断地摆动。但我希望他们继续摆动,即使用户选择一个并移动它。 实际发生的是,当用户拿起一个形状时,它会停止动画,当他把它放回去时,它甚至不会重新开始动画。

这里有一些上下文代码:

func wiggle() {
    UIView.animate(withDuration: 0.15, options: [.repeat, .autoreverse, .allowUserInteraction], animation: {
        self.view.subviews.forEach { $0.transform = CGAffineTransform(rotationAngle: CGFloat.pi/8) })
}

func pickUpShape() {
     [.....]
     shape.transform = CGAffineTransform(scaleX: 2, scaleY: 2)
     shape.layer.shadowOpacity = 0.7
}

func moveShape() {
    //apply UIPanGestureRecognizer
}

func placeShape() {
    [.....]
    shape.transform = .identity
    shape.layer.shadowOpacity = 0
}

我想要它做的是,如果用户触发摆动动作,并选择一个形状并移动它,我希望形状继续在用户的手指下摆动,然后将其放下

0 个答案:

没有答案