Tôi có một CollectionView và tôi muốn tạo một hình động bên trong CollectionViewCell do người dùng chọn. Tôi đã chọn sử dụng animateKeyframesWithDuration vì tôi muốn tạo một bước hoạt hình tùy chỉnh theo từng bước. Mã của tôi trông giống như sau:iOS dừng animateWithDuration trước khi hoàn thành
func animate() {
UIView.animateKeyframesWithDuration(1.0, delay: 0.0, options: .AllowUserInteraction, animations: {() -> Void in
UIView.addKeyframeWithRelativeStartTime(0.0, relativeDuration: 0.5, animations: {() -> Void in
// First step
})
UIView.addKeyframeWithRelativeStartTime(0.5, relativeDuration: 0.5, animations: {() -> Void in
// Second step
})
}) { (finished: Bool) -> Void in
if self.shouldStopAnimating {
self.loadingView.layer.removeAllAnimations()
} else {
self.animate()
}
}
}
Điều này được thực hiện trong CollectionViewCell tùy chỉnh khi được chọn. Vấn đề là tôi muốn dừng hoạt ảnh ngay lập tức tại một số điểm nhất định. Nhưng khi tôi làm điều đó, hoạt ảnh không dừng lại hoàn toàn, nó chỉ di chuyển hình động còn lại trên một ô khác (có lẽ là ô được sử dụng lại lần cuối?)
Tôi không hiểu tại sao điều này lại xảy ra. Tôi đã thử các cách tiếp cận khác nhau nhưng không ai trong số họ dừng thành công hoạt ảnh trước khi bước vào khối hoàn thành
Có ai có ý tưởng gì về điều này không?
bạn đã tìm thấy một giải pháp cho việc này? – swalkner