lib/sugarcube-animations/caanimation.rb in sugarcube-1.6.0 vs lib/sugarcube-animations/caanimation.rb in sugarcube-1.6.1

- old
+ new

@@ -15,16 +15,16 @@ # If you pass a block, that block will be called at the end of the # animation. def basic(key_path, options={}, &block) animation = CABasicAnimation.animationWithKeyPath(key_path) _sugarcube_apply_animation_options(animation, options) + fill_mode = options.fetch(:fill_mode, KCAFillModeForwards) + animation.fillMode = fill_mode - if options.key?(:from) || options.key?(:to) || options.key?(:by) - animation.fromValue = options[:from] if options.key?(:from) - animation.toValue = options[:to] if options.key?(:to) - animation.byValue = options[:by] if options.key?(:by) - end + animation.fromValue = options[:from] if options.key?(:from) + animation.toValue = options[:to] if options.key?(:to) + animation.byValue = options[:by] if options.key?(:by) return animation end def keyframe(key_path, options={}, &block) @@ -40,10 +40,18 @@ animation.fillMode = fill_mode if options.key?(:values) animation.values = options[:values] elsif options.key?(:path) - animation.path = options[:path] + path = options[:path] + if path.is_a?(UIBezierPath) + p = UIBezierPath.bezierPath + p.moveToPoint([0, 0]) + p.addCurveToPoint([1, 0], controlPoint1: [0.9, 0], controlPoint2: [0.1, 0]) + + path = path.CGPath + end + animation.path = path end return animation end