Commit c96c6fd8 by shoheiyokoyama

define converts method for CAMediaTimingFunction

parent 75849afb
...@@ -55,6 +55,35 @@ public func AnimationFillModeToValue(mode: AnimationFillMode) -> String { ...@@ -55,6 +55,35 @@ public func AnimationFillModeToValue(mode: AnimationFillMode) -> String {
} }
} }
@objc(AnimationTimingFunction)
public enum AnimationTimingFunction: Int {
case liner
case easeIn
case easeOut
case easeInEaseOut
case systemDefault
}
/**
Converts the AnimationTimingFunction enum value to a corresponding CAMediaTimingFunction.
- Parameter function: An AnimationTimingFunction enum value.
*/
public func AnimationTimingFunctionToValue(function: AnimationTimingFunction) -> CAMediaTimingFunction {
switch function {
case .liner:
return CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)
case .easeIn:
return CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseIn)
case .easeOut:
return CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseOut)
case .easeInEaseOut:
return CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
case .systemDefault:
return CAMediaTimingFunction(name: kCAMediaTimingFunctionDefault)
}
}
public typealias AnimationDelayCancelBlock = (Bool) -> Void public typealias AnimationDelayCancelBlock = (Bool) -> Void
public struct Animation { public struct Animation {
...@@ -106,7 +135,7 @@ public struct Animation { ...@@ -106,7 +135,7 @@ public struct Animation {
CATransaction.begin() CATransaction.begin()
CATransaction.setAnimationDuration(duration) CATransaction.setAnimationDuration(duration)
CATransaction.setCompletionBlock(completion) CATransaction.setCompletionBlock(completion)
CATransaction.setAnimationTimingFunction(CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)) CATransaction.setAnimationTimingFunction(AnimationTimingFunctionToValue(function: .easeInEaseOut))
animations() animations()
CATransaction.commit() CATransaction.commit()
} }
...@@ -120,7 +149,7 @@ public struct Animation { ...@@ -120,7 +149,7 @@ public struct Animation {
group.isRemovedOnCompletion = false group.isRemovedOnCompletion = false
group.animations = animations group.animations = animations
group.duration = duration group.duration = duration
group.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) group.timingFunction = AnimationTimingFunctionToValue(function: .easeInEaseOut)
return group return group
} }
......
...@@ -39,7 +39,7 @@ extension Animation { ...@@ -39,7 +39,7 @@ extension Animation {
animation.toValue = color.cgColor animation.toValue = color.cgColor
animation.fillMode = AnimationFillModeToValue(mode: .forwards) animation.fillMode = AnimationFillModeToValue(mode: .forwards)
animation.isRemovedOnCompletion = false animation.isRemovedOnCompletion = false
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) animation.timingFunction = AnimationTimingFunctionToValue(function: .easeInEaseOut)
if let v = duration { if let v = duration {
animation.duration = v animation.duration = v
} }
...@@ -54,7 +54,7 @@ extension Animation { ...@@ -54,7 +54,7 @@ extension Animation {
animation.toValue = radius animation.toValue = radius
animation.fillMode = AnimationFillModeToValue(mode: .forwards) animation.fillMode = AnimationFillModeToValue(mode: .forwards)
animation.isRemovedOnCompletion = false animation.isRemovedOnCompletion = false
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) animation.timingFunction = AnimationTimingFunctionToValue(function: .easeInEaseOut)
if let v = duration { if let v = duration {
animation.duration = v animation.duration = v
} }
...@@ -69,7 +69,7 @@ extension Animation { ...@@ -69,7 +69,7 @@ extension Animation {
animation.toValue = NSValue(caTransform3D: transform) animation.toValue = NSValue(caTransform3D: transform)
animation.fillMode = AnimationFillModeToValue(mode: .forwards) animation.fillMode = AnimationFillModeToValue(mode: .forwards)
animation.isRemovedOnCompletion = false animation.isRemovedOnCompletion = false
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) animation.timingFunction = AnimationTimingFunctionToValue(function: .easeInEaseOut)
if let v = duration { if let v = duration {
animation.duration = v animation.duration = v
} }
...@@ -88,7 +88,7 @@ extension Animation { ...@@ -88,7 +88,7 @@ extension Animation {
} }
animation.fillMode = AnimationFillModeToValue(mode: .forwards) animation.fillMode = AnimationFillModeToValue(mode: .forwards)
animation.isRemovedOnCompletion = false animation.isRemovedOnCompletion = false
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) animation.timingFunction = AnimationTimingFunctionToValue(function: .easeInEaseOut)
if let v = duration { if let v = duration {
animation.duration = v animation.duration = v
} }
...@@ -107,7 +107,7 @@ extension Animation { ...@@ -107,7 +107,7 @@ extension Animation {
} }
animation.fillMode = AnimationFillModeToValue(mode: .forwards) animation.fillMode = AnimationFillModeToValue(mode: .forwards)
animation.isRemovedOnCompletion = false animation.isRemovedOnCompletion = false
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) animation.timingFunction = AnimationTimingFunctionToValue(function: .easeInEaseOut)
if let v = duration { if let v = duration {
animation.duration = v animation.duration = v
} }
...@@ -126,7 +126,7 @@ extension Animation { ...@@ -126,7 +126,7 @@ extension Animation {
} }
animation.fillMode = AnimationFillModeToValue(mode: .forwards) animation.fillMode = AnimationFillModeToValue(mode: .forwards)
animation.isRemovedOnCompletion = false animation.isRemovedOnCompletion = false
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) animation.timingFunction = AnimationTimingFunctionToValue(function: .easeInEaseOut)
if let v = duration { if let v = duration {
animation.duration = v animation.duration = v
} }
...@@ -145,7 +145,7 @@ extension Animation { ...@@ -145,7 +145,7 @@ extension Animation {
} }
animation.fillMode = AnimationFillModeToValue(mode: .forwards) animation.fillMode = AnimationFillModeToValue(mode: .forwards)
animation.isRemovedOnCompletion = false animation.isRemovedOnCompletion = false
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) animation.timingFunction = AnimationTimingFunctionToValue(function: .easeInEaseOut)
if let v = duration { if let v = duration {
animation.duration = v animation.duration = v
} }
...@@ -160,7 +160,7 @@ extension Animation { ...@@ -160,7 +160,7 @@ extension Animation {
animation.toValue = scale as NSNumber animation.toValue = scale as NSNumber
animation.fillMode = AnimationFillModeToValue(mode: .forwards) animation.fillMode = AnimationFillModeToValue(mode: .forwards)
animation.isRemovedOnCompletion = false animation.isRemovedOnCompletion = false
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) animation.timingFunction = AnimationTimingFunctionToValue(function: .easeInEaseOut)
if let v = duration { if let v = duration {
animation.duration = v animation.duration = v
} }
...@@ -175,7 +175,7 @@ extension Animation { ...@@ -175,7 +175,7 @@ extension Animation {
animation.toValue = scale as NSNumber animation.toValue = scale as NSNumber
animation.fillMode = AnimationFillModeToValue(mode: .forwards) animation.fillMode = AnimationFillModeToValue(mode: .forwards)
animation.isRemovedOnCompletion = false animation.isRemovedOnCompletion = false
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) animation.timingFunction = AnimationTimingFunctionToValue(function: .easeInEaseOut)
if let v = duration { if let v = duration {
animation.duration = v animation.duration = v
} }
...@@ -190,7 +190,7 @@ extension Animation { ...@@ -190,7 +190,7 @@ extension Animation {
animation.toValue = scale as NSNumber animation.toValue = scale as NSNumber
animation.fillMode = AnimationFillModeToValue(mode: .forwards) animation.fillMode = AnimationFillModeToValue(mode: .forwards)
animation.isRemovedOnCompletion = false animation.isRemovedOnCompletion = false
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) animation.timingFunction = AnimationTimingFunctionToValue(function: .easeInEaseOut)
if let v = duration { if let v = duration {
animation.duration = v animation.duration = v
} }
...@@ -205,7 +205,7 @@ extension Animation { ...@@ -205,7 +205,7 @@ extension Animation {
animation.toValue = scale as NSNumber animation.toValue = scale as NSNumber
animation.fillMode = AnimationFillModeToValue(mode: .forwards) animation.fillMode = AnimationFillModeToValue(mode: .forwards)
animation.isRemovedOnCompletion = false animation.isRemovedOnCompletion = false
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) animation.timingFunction = AnimationTimingFunctionToValue(function: .easeInEaseOut)
if let v = duration { if let v = duration {
animation.duration = v animation.duration = v
} }
...@@ -220,7 +220,7 @@ extension Animation { ...@@ -220,7 +220,7 @@ extension Animation {
animation.toValue = NSValue(cgSize: translation) animation.toValue = NSValue(cgSize: translation)
animation.fillMode = AnimationFillModeToValue(mode: .forwards) animation.fillMode = AnimationFillModeToValue(mode: .forwards)
animation.isRemovedOnCompletion = false animation.isRemovedOnCompletion = false
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) animation.timingFunction = AnimationTimingFunctionToValue(function: .easeInEaseOut)
if let v = duration { if let v = duration {
animation.duration = v animation.duration = v
} }
...@@ -235,7 +235,7 @@ extension Animation { ...@@ -235,7 +235,7 @@ extension Animation {
animation.toValue = translation as NSNumber animation.toValue = translation as NSNumber
animation.fillMode = AnimationFillModeToValue(mode: .forwards) animation.fillMode = AnimationFillModeToValue(mode: .forwards)
animation.isRemovedOnCompletion = false animation.isRemovedOnCompletion = false
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) animation.timingFunction = AnimationTimingFunctionToValue(function: .easeInEaseOut)
if let v = duration { if let v = duration {
animation.duration = v animation.duration = v
} }
...@@ -250,7 +250,7 @@ extension Animation { ...@@ -250,7 +250,7 @@ extension Animation {
animation.toValue = translation as NSNumber animation.toValue = translation as NSNumber
animation.fillMode = AnimationFillModeToValue(mode: .forwards) animation.fillMode = AnimationFillModeToValue(mode: .forwards)
animation.isRemovedOnCompletion = false animation.isRemovedOnCompletion = false
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) animation.timingFunction = AnimationTimingFunctionToValue(function: .easeInEaseOut)
if let v = duration { if let v = duration {
animation.duration = v animation.duration = v
} }
...@@ -265,7 +265,7 @@ extension Animation { ...@@ -265,7 +265,7 @@ extension Animation {
animation.toValue = translation as NSNumber animation.toValue = translation as NSNumber
animation.fillMode = AnimationFillModeToValue(mode: .forwards) animation.fillMode = AnimationFillModeToValue(mode: .forwards)
animation.isRemovedOnCompletion = false animation.isRemovedOnCompletion = false
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) animation.timingFunction = AnimationTimingFunctionToValue(function: .easeInEaseOut)
if let v = duration { if let v = duration {
animation.duration = v animation.duration = v
} }
...@@ -280,7 +280,7 @@ extension Animation { ...@@ -280,7 +280,7 @@ extension Animation {
animation.toValue = NSValue(cgPoint: point) animation.toValue = NSValue(cgPoint: point)
animation.fillMode = AnimationFillModeToValue(mode: .forwards) animation.fillMode = AnimationFillModeToValue(mode: .forwards)
animation.isRemovedOnCompletion = false animation.isRemovedOnCompletion = false
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) animation.timingFunction = AnimationTimingFunctionToValue(function: .easeInEaseOut)
if let v = duration { if let v = duration {
animation.duration = v animation.duration = v
} }
...@@ -292,7 +292,7 @@ extension Animation { ...@@ -292,7 +292,7 @@ extension Animation {
animation.toValue = path animation.toValue = path
animation.fillMode = AnimationFillModeToValue(mode: .forwards) animation.fillMode = AnimationFillModeToValue(mode: .forwards)
animation.isRemovedOnCompletion = false animation.isRemovedOnCompletion = false
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear) animation.timingFunction = AnimationTimingFunctionToValue(function: .liner)
if let v = duration { if let v = duration {
animation.duration = v animation.duration = v
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment