2015-04-28 36 views
6

Tôi đã chuyển đổi tùy chỉnh sau bằng cách sử dụng UIView.animateWithDuration(...usingSpringWithDamping:...) hoạt động hoàn hảo.iOS: springWithDamping giống như hoạt ảnh cho hoạt ảnh KeyFrame

UIView.animateWithDuration(self.transitionDuration(transitionContext), 
    delay: 0.0, usingSpringWithDamping: 0.8, initialSpringVelocity: 1.0, 
    options: nil, animations: {() in 
    // ... 
}, completion: {(Bool) in 
    // ... 
}) 

Nhưng sau đó tôi đã phải kéo dài quá độ tùy chỉnh của tôi với UIViewControllerInteractiveTransitioning để có một sự chuyển tiếp tương tác, nơi người dùng có thể trượt xuống xem phương thức một lần nữa.

Vì vậy, tôi cần khung hình chính cho hoạt ảnh để UIPercentDrivenInteractiveTransition hoạt động bình thường.

Vì vậy, tôi đã thay đổi chức năng hoạt ảnh để sử dụng UIView.animateWithKeyframes....

UIView.animateKeyframesWithDuration(self.transitionDuration(transitionContext), 
    delay: 0.0, options: UIViewKeyframeAnimationOptions.CalculationModeCubic, 
    animations: {() in 
    // ... 
}, completion: {(Bool) in 
    // ... 
}) 

Vấn đề của tôi bây giờ: Tôi bị mất hoạt ảnh mùa xuân.

Tôi đã kiểm tra một số liên kết, một trong những hứa hẹn nhất là:

... nhưng với .addKeyframes... phương pháp tôi có thể không chỉ định một khối hoàn thành mà tôi cần.

Mọi đề xuất? : -/

+0

đã nhìn vào https://github.com/felixjendrusch/Marionette? – Eran

+0

như một sang một bên, kiểm tra bài đăng này trên hình ảnh động mùa xuân https://medium.com/@flyosity/your-spring-animations-are-bad-and-it-s-probably-apple-s-fault-784932e51733 –

Trả lời

0

Hãy thử điều này: bạn

UIView.animateKeyframesWithDuration(self.transitionDuration(transitionContext), 
    delay: 0.0, options: UIViewKeyframeAnimationOptions.CalculationModeCubic, 
    animations: {() in 
     UIView.addKeyframeWithRelativeStartTime(0.0, 
      relativeDuration:0.5, 
      animations: {() in 
       // first animation 
     })  
     UIView.addKeyframeWithRelativeStartTime(0.5, 
      relativeDuration:0.5, 
      animations: {() in 
       // spring animation 
     }) 
}, completion: {(Bool) in 
    // cleaning 
}) 
Các vấn đề liên quan