我有一组形状(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
}
我想要它做的是,如果用户触发摆动动作,并选择一个形状并移动它,我希望形状继续在用户的手指下摆动,然后将其放下