diff --git a/DKChainableAnimationKit.xcodeproj/project.pbxproj b/DKChainableAnimationKit.xcodeproj/project.pbxproj index fad47d3..3d610db 100644 --- a/DKChainableAnimationKit.xcodeproj/project.pbxproj +++ b/DKChainableAnimationKit.xcodeproj/project.pbxproj @@ -203,7 +203,7 @@ TargetAttributes = { 5287D6731B1120E6006A9A84 = { CreatedOnToolsVersion = 6.3.2; - LastSwiftMigration = 0920; + LastSwiftMigration = 1100; }; 5287D67E1B1120E6006A9A84 = { CreatedOnToolsVersion = 6.3.2; @@ -216,6 +216,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, ); mainGroup = 5287D66A1B1120E6006A9A84; @@ -392,8 +393,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "com.draveness.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SWIFT_SWIFT3_OBJC_INFERENCE = On; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -411,8 +411,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "com.draveness.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SWIFT_SWIFT3_OBJC_INFERENCE = On; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Release; }; diff --git a/DKChainableAnimationKit.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/DKChainableAnimationKit.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/DKChainableAnimationKit.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Anchor.swift b/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Anchor.swift index dac7c2e..e0f81b3 100644 --- a/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Anchor.swift +++ b/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Anchor.swift @@ -46,74 +46,74 @@ public extension DKChainableAnimationKit { } } - @discardableResult public func makeAnchor(_ x: CGFloat, _ y: CGFloat) -> DKChainableAnimationKit { + @discardableResult func makeAnchor(_ x: CGFloat, _ y: CGFloat) -> DKChainableAnimationKit { self.makeAnchorFrom(x: x, y: y) return self } - public var anchorDefault: DKChainableAnimationKit { + var anchorDefault: DKChainableAnimationKit { get { return self.anchorCenter } } - public var anchorCenter: DKChainableAnimationKit { + var anchorCenter: DKChainableAnimationKit { get { self.makeAnchorFrom(x: 0.5, y: 0.5) return self } } - public var anchorTopLeft: DKChainableAnimationKit { + var anchorTopLeft: DKChainableAnimationKit { get { self.makeAnchorFrom(x: 0.0, y: 0.0) return self } } - public var anchorTopRight: DKChainableAnimationKit { + var anchorTopRight: DKChainableAnimationKit { get { self.makeAnchorFrom(x: 1.0, y: 0.0) return self } } - public var anchorBottomLeft: DKChainableAnimationKit { + var anchorBottomLeft: DKChainableAnimationKit { get { self.makeAnchorFrom(x: 0.0, y: 1.0) return self } } - public var anchorBottomRight: DKChainableAnimationKit { + var anchorBottomRight: DKChainableAnimationKit { get { self.makeAnchorFrom(x: 1.0, y: 1.0) return self } } - public var anchorTop: DKChainableAnimationKit { + var anchorTop: DKChainableAnimationKit { get { self.makeAnchorFrom(x: 0.5, y: 0.0) return self } } - public var anchorBottom: DKChainableAnimationKit { + var anchorBottom: DKChainableAnimationKit { get { self.makeAnchorFrom(x: 0.5, y: 1.0) return self } } - public var anchorLeft: DKChainableAnimationKit { + var anchorLeft: DKChainableAnimationKit { get { self.makeAnchorFrom(x: 0.0, y: 0.5) return self } } - public var anchorRight: DKChainableAnimationKit { + var anchorRight: DKChainableAnimationKit { get { self.makeAnchorFrom(x: 1.0, y: 0.5) return self diff --git a/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Bezier.swift b/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Bezier.swift index d99ed4f..e3c66e5 100644 --- a/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Bezier.swift +++ b/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Bezier.swift @@ -10,7 +10,7 @@ import UIKit public extension DKChainableAnimationKit { - public func moveOnPath(_ path: UIBezierPath) -> DKChainableAnimationKit { + func moveOnPath(_ path: UIBezierPath) -> DKChainableAnimationKit { self.addAnimationCalculationAction { (view: UIView) -> Void in let pathAnimation = self.basicAnimationForKeyPath("position") pathAnimation.path = path.cgPath @@ -24,11 +24,11 @@ public extension DKChainableAnimationKit { return self } - public func moveAndRotateOnPath(_ path: UIBezierPath) -> DKChainableAnimationKit { + func moveAndRotateOnPath(_ path: UIBezierPath) -> DKChainableAnimationKit { self.addAnimationCalculationAction { (view: UIView) -> Void in let pathAnimation = self.basicAnimationForKeyPath("position") pathAnimation.path = path.cgPath - pathAnimation.rotationMode = kCAAnimationRotateAuto + pathAnimation.rotationMode = CAAnimationRotationMode.rotateAuto self.addAnimationFromCalculationBlock(pathAnimation) } @@ -39,11 +39,11 @@ public extension DKChainableAnimationKit { return self } - public func moveAndReverseRotateOnPath(_ path: UIBezierPath) -> DKChainableAnimationKit { + func moveAndReverseRotateOnPath(_ path: UIBezierPath) -> DKChainableAnimationKit { self.addAnimationCalculationAction { (view: UIView) -> Void in let pathAnimation = self.basicAnimationForKeyPath("position") pathAnimation.path = path.cgPath - pathAnimation.rotationMode = kCAAnimationRotateAutoReverse + pathAnimation.rotationMode = CAAnimationRotationMode.rotateAutoReverse self.addAnimationFromCalculationBlock(pathAnimation) } diff --git a/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Effects.swift b/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Effects.swift index 1ce7e77..33161c7 100644 --- a/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Effects.swift +++ b/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Effects.swift @@ -10,257 +10,257 @@ import UIKit public extension DKChainableAnimationKit { // MARK: - Animation Effects - - public var easeIn: DKChainableAnimationKit { + + var easeIn: DKChainableAnimationKit { get { _ = self.easeInQuad return self } } - - public var easeOut: DKChainableAnimationKit { + + var easeOut: DKChainableAnimationKit { get { _ = self.easeOutQuad return self } } - - public var easeInOut: DKChainableAnimationKit { + + var easeInOut: DKChainableAnimationKit { get { _ = self.easeInOutQuad return self } } - - public var easeBack: DKChainableAnimationKit { + + var easeBack: DKChainableAnimationKit { get { _ = self.easeOutBack return self } } - - public var spring: DKChainableAnimationKit { + + var spring: DKChainableAnimationKit { get { _ = self.easeOutElastic return self } } - - public var bounce: DKChainableAnimationKit { + + var bounce: DKChainableAnimationKit { get { _ = self.easeOutBounce return self } } - - public var easeInQuad: DKChainableAnimationKit { + + var easeInQuad: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInQuad) return self } } - - public var easeOutQuad: DKChainableAnimationKit { + + var easeOutQuad: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseOutQuad) return self } } - - public var easeInOutQuad: DKChainableAnimationKit { + + var easeInOutQuad: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInOutQuad) return self } } - - public var easeInCubic: DKChainableAnimationKit { + + var easeInCubic: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInCubic) return self } } - - public var easeOutCubic: DKChainableAnimationKit { + + var easeOutCubic: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseOutCubic) return self } } - - public var easeInOutCubic: DKChainableAnimationKit { + + var easeInOutCubic: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInOutCubic) return self } } - - public var easeInQuart: DKChainableAnimationKit { + + var easeInQuart: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInQuart) return self } } - - public var easeOutQuart: DKChainableAnimationKit { + + var easeOutQuart: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseOutQuart) return self } } - - public var easeInOutQuart: DKChainableAnimationKit { + + var easeInOutQuart: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInOutQuart) return self } } - - public var easeInQuint: DKChainableAnimationKit { + + var easeInQuint: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInQuint) return self } } - - public var easeOutQuint: DKChainableAnimationKit { + + var easeOutQuint: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseOutQuint) return self } } - - public var easeInOutQuint: DKChainableAnimationKit { + + var easeInOutQuint: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInOutQuint) return self } } - - public var easeInSine: DKChainableAnimationKit { + + var easeInSine: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInSine) return self } } - - public var easeOutSine: DKChainableAnimationKit { + + var easeOutSine: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseOutSine) return self } } - - public var easeInOutSine: DKChainableAnimationKit { + + var easeInOutSine: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInOutSine) return self } } - - public var easeInExpo: DKChainableAnimationKit { + + var easeInExpo: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInExpo) return self } } - - public var easeOutExpo: DKChainableAnimationKit { + + var easeOutExpo: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseOutExpo) return self } } - - public var easeInOutExpo: DKChainableAnimationKit { + + var easeInOutExpo: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInOutExpo) return self } } - - public var easeInCirc: DKChainableAnimationKit { + + var easeInCirc: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInCirc) return self } } - - public var easeOutCirc: DKChainableAnimationKit { + + var easeOutCirc: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseOutCirc) return self } } - - public var easeInOutCirc: DKChainableAnimationKit { + + var easeInOutCirc: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInOutCirc) return self } } - - public var easeInElastic: DKChainableAnimationKit { + + var easeInElastic: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInElastic) return self } } - - public var easeOutElastic: DKChainableAnimationKit { + + var easeOutElastic: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseOutElastic) return self } } - - public var easeInOutElastic: DKChainableAnimationKit { + + var easeInOutElastic: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInOutElastic) return self } } - - public var easeInBack: DKChainableAnimationKit { + + var easeInBack: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInBack) return self } } - - public var easeOutBack: DKChainableAnimationKit { + + var easeOutBack: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseOutBack) return self } } - - public var easeInOutBack: DKChainableAnimationKit { + + var easeInOutBack: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInOutBack) return self } } - - public var easeInBounce: DKChainableAnimationKit { + + var easeInBounce: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInBounce) return self } } - - public var easeOutBounce: DKChainableAnimationKit { + + var easeOutBounce: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseOutBounce) return self } } - - public var easeInOutBounce: DKChainableAnimationKit { + + var easeInOutBounce: DKChainableAnimationKit { get { self.addAnimationKeyframeCalculation(DKKeyframeAnimationFunctionEaseInOutBounce) return self } } - + } diff --git a/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Extra.swift b/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Extra.swift index f7d64f8..cb865ef 100644 --- a/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Extra.swift +++ b/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Extra.swift @@ -10,11 +10,11 @@ import Foundation public extension DKChainableAnimationKit { - public func makeOpacity(_ opacity: CGFloat) -> DKChainableAnimationKit { + func makeOpacity(_ opacity: CGFloat) -> DKChainableAnimationKit { self.addAnimationCalculationAction { (view: UIView) -> Void in let opacityAnimation = self.basicAnimationForKeyPath("opacity") - opacityAnimation.fromValue = view.alpha as AnyObject! - opacityAnimation.toValue = opacity as AnyObject! + opacityAnimation.fromValue = view.alpha as AnyObject? + opacityAnimation.toValue = opacity as AnyObject? self.addAnimationFromCalculationBlock(opacityAnimation) } @@ -24,11 +24,11 @@ public extension DKChainableAnimationKit { return self } - public func makeAlpha(_ alpha: CGFloat) -> DKChainableAnimationKit { + func makeAlpha(_ alpha: CGFloat) -> DKChainableAnimationKit { return makeOpacity(alpha) } - public func makeBackground(_ color: UIColor) -> DKChainableAnimationKit { + func makeBackground(_ color: UIColor) -> DKChainableAnimationKit { self.addAnimationCalculationAction { (view: UIView) -> Void in let backgroundColorAnimation = self.basicAnimationForKeyPath("backgroundColor") backgroundColorAnimation.fromValue = view.backgroundColor @@ -42,7 +42,7 @@ public extension DKChainableAnimationKit { return self } - public func makeBorderColor(_ color: UIColor) -> DKChainableAnimationKit { + func makeBorderColor(_ color: UIColor) -> DKChainableAnimationKit { self.addAnimationCalculationAction { (view: UIView) -> Void in let borderColorAnimation = self.basicAnimationForKeyPath("borderColor") borderColorAnimation.fromValue = UIColor(cgColor: view.layer.borderColor!) @@ -56,12 +56,12 @@ public extension DKChainableAnimationKit { return self } - public func makeBorderWidth(_ width: CGFloat) -> DKChainableAnimationKit { + func makeBorderWidth(_ width: CGFloat) -> DKChainableAnimationKit { let width = max(0, width) self.addAnimationCalculationAction { (view: UIView) -> Void in let borderColorAnimation = self.basicAnimationForKeyPath("borderWidth") - borderColorAnimation.fromValue = view.layer.borderWidth as AnyObject! - borderColorAnimation.toValue = width as AnyObject! + borderColorAnimation.fromValue = view.layer.borderWidth as AnyObject? + borderColorAnimation.toValue = width as AnyObject? self.addAnimationFromCalculationBlock(borderColorAnimation) } @@ -71,12 +71,12 @@ public extension DKChainableAnimationKit { return self } - public func makeCornerRadius(_ cornerRadius: CGFloat) -> DKChainableAnimationKit { + func makeCornerRadius(_ cornerRadius: CGFloat) -> DKChainableAnimationKit { let cornerRadius = max(0, cornerRadius) self.addAnimationCalculationAction { (view: UIView) -> Void in let cornerRadiusAnimation = self.basicAnimationForKeyPath("cornerRadius") - cornerRadiusAnimation.fromValue = view.layer.cornerRadius as AnyObject! - cornerRadiusAnimation.toValue = cornerRadius as AnyObject! + cornerRadiusAnimation.fromValue = view.layer.cornerRadius as AnyObject? + cornerRadiusAnimation.toValue = cornerRadius as AnyObject? self.addAnimationFromCalculationBlock(cornerRadiusAnimation) } diff --git a/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Frame.swift b/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Frame.swift index 441fe4e..15a2e0b 100644 --- a/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Frame.swift +++ b/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Frame.swift @@ -9,34 +9,34 @@ import Foundation public extension DKChainableAnimationKit { - - public func makeFrame(_ rect: CGRect) -> DKChainableAnimationKit { + + func makeFrame(_ rect: CGRect) -> DKChainableAnimationKit { return self.makeOrigin(rect.origin.x, rect.origin.y).makeBounds(rect) } - - public func makeFrame(_ x: CGFloat, _ y: CGFloat, _ width: CGFloat, _ height: CGFloat) -> DKChainableAnimationKit { + + func makeFrame(_ x: CGFloat, _ y: CGFloat, _ width: CGFloat, _ height: CGFloat) -> DKChainableAnimationKit { let rect = CGRect(x: x, y: y, width: width, height: height) return self.makeOrigin(x, y).makeBounds(rect) } - - public func makeBounds(_ rect: CGRect) -> DKChainableAnimationKit { + + func makeBounds(_ rect: CGRect) -> DKChainableAnimationKit { return self.makeSize(rect.size.width, rect.size.height) } - - public func makeBounds(_ x: CGFloat, _ y: CGFloat, _ width: CGFloat, _ height: CGFloat) -> DKChainableAnimationKit { + + func makeBounds(_ x: CGFloat, _ y: CGFloat, _ width: CGFloat, _ height: CGFloat) -> DKChainableAnimationKit { return self.makeSize(width, height) } - - - public func makeSize(_ width: CGFloat, _ height: CGFloat) -> DKChainableAnimationKit { - + + + func makeSize(_ width: CGFloat, _ height: CGFloat) -> DKChainableAnimationKit { + self.addAnimationCalculationAction { (view: UIView) -> Void in let sizeAnimation = self.basicAnimationForKeyPath("bounds.size") sizeAnimation.fromValue = NSValue(cgSize: view.layer.bounds.size) sizeAnimation.toValue = NSValue(cgSize: CGSize(width: width, height: height)) self.addAnimationFromCalculationBlock(sizeAnimation) } - + self.addAnimationCompletionAction { (view: UIView) -> Void in let bounds = CGRect(x: 0, y: 0, width: width, height: height) view.layer.bounds = bounds @@ -44,8 +44,8 @@ public extension DKChainableAnimationKit { } return self } - - public func makeOrigin(_ x: CGFloat, _ y: CGFloat) -> DKChainableAnimationKit { + + func makeOrigin(_ x: CGFloat, _ y: CGFloat) -> DKChainableAnimationKit { self.addAnimationCalculationAction { (view: UIView) -> Void in let positionAnimation = self.basicAnimationForKeyPath("position") let newPosition = self.newPositionFrom(newOrigin: CGPoint(x: x, y: y)) @@ -53,16 +53,16 @@ public extension DKChainableAnimationKit { positionAnimation.toValue = NSValue(cgPoint: newPosition) self.addAnimationFromCalculationBlock(positionAnimation) } - + self.addAnimationCompletionAction { (view: UIView) -> Void in let newPosition = self.newPositionFrom(newOrigin: CGPoint(x: x, y: y)) view.layer.position = newPosition } return self - + } - - public func makeCenter(_ x: CGFloat, _ y: CGFloat) -> DKChainableAnimationKit { + + func makeCenter(_ x: CGFloat, _ y: CGFloat) -> DKChainableAnimationKit { self.addAnimationCalculationAction { (view: UIView) -> Void in let positionAnimation = self.basicAnimationForKeyPath("position") let newPosition = self.newPositionFrom(newCenter: CGPoint(x: x, y: y)) @@ -70,62 +70,62 @@ public extension DKChainableAnimationKit { positionAnimation.toValue = NSValue(cgPoint: newPosition) self.addAnimationFromCalculationBlock(positionAnimation) } - + self.addAnimationCompletionAction { (view: UIView) -> Void in view.center = CGPoint(x: x, y: y) } return self } - - public func makeX(_ x: CGFloat) -> DKChainableAnimationKit { + + func makeX(_ x: CGFloat) -> DKChainableAnimationKit { self.addAnimationCalculationAction { (view: UIView) -> Void in let positionAnimation = self.basicAnimationForKeyPath("position.x") let newPosition = self.newPositionFrom(newOrigin: CGPoint(x: x, y: view.layer.frame.origin.y)) - positionAnimation.fromValue = view.layer.position.x as AnyObject! - positionAnimation.toValue = newPosition.x as AnyObject! + positionAnimation.fromValue = view.layer.position.x as AnyObject? + positionAnimation.toValue = newPosition.x as AnyObject? self.addAnimationFromCalculationBlock(positionAnimation) } - + self.addAnimationCompletionAction { (view: UIView) -> Void in let newPosition = self.newPositionFrom(newOrigin: CGPoint(x: x, y: view.layer.frame.origin.y)) view.layer.position = newPosition } return self } - - public func makeY(_ y: CGFloat) -> DKChainableAnimationKit { + + func makeY(_ y: CGFloat) -> DKChainableAnimationKit { self.addAnimationCalculationAction { (view: UIView) -> Void in let positionAnimation = self.basicAnimationForKeyPath("position.y") let newPosition = self.newPositionFrom(newOrigin: CGPoint(x: view.layer.frame.origin.x, y: y)) - positionAnimation.fromValue = view.layer.position.y as AnyObject! - positionAnimation.toValue = newPosition.y as AnyObject! + positionAnimation.fromValue = view.layer.position.y as AnyObject? + positionAnimation.toValue = newPosition.y as AnyObject? self.addAnimationFromCalculationBlock(positionAnimation) } - + self.addAnimationCompletionAction { (view: UIView) -> Void in let newPosition = self.newPositionFrom(newOrigin: CGPoint(x: view.layer.frame.origin.x, y: y)) view.layer.position = newPosition } return self } - - public func makeCenterX(_ x: CGFloat) -> DKChainableAnimationKit { + + func makeCenterX(_ x: CGFloat) -> DKChainableAnimationKit { return self.makeX(x - view.bounds.size.width / 2) } - - public func makeCenterY(_ y: CGFloat) -> DKChainableAnimationKit { + + func makeCenterY(_ y: CGFloat) -> DKChainableAnimationKit { return self.makeY(y - view.bounds.size.height / 2) } - - public func makeWidth(_ width: CGFloat) -> DKChainableAnimationKit { + + func makeWidth(_ width: CGFloat) -> DKChainableAnimationKit { return self.makeSize(width, self.view.layer.frame.size.height) } - - public func makeHeight(_ height: CGFloat) -> DKChainableAnimationKit { + + func makeHeight(_ height: CGFloat) -> DKChainableAnimationKit { return self.makeSize(self.view.layer.frame.size.width, height) } - - public func makeScale(_ scale: CGFloat) -> DKChainableAnimationKit { + + func makeScale(_ scale: CGFloat) -> DKChainableAnimationKit { let scale = max(0, scale) self.addAnimationCalculationAction { (view: UIView) -> Void in let scaleAnimation = self.basicAnimationForKeyPath("bounds") @@ -134,7 +134,7 @@ public extension DKChainableAnimationKit { scaleAnimation.toValue = NSValue(cgRect: rect) self.addAnimationFromCalculationBlock(scaleAnimation) } - + self.addAnimationCompletionAction { (view: UIView) -> Void in let rect = CGRect(x: 0, y: 0, width: max(view.bounds.size.width * scale, 0), height: max(view.bounds.size.height * scale, 0)) view.layer.bounds = rect @@ -142,8 +142,8 @@ public extension DKChainableAnimationKit { } return self } - - public func makeScaleX(_ xScale: CGFloat) -> DKChainableAnimationKit { + + func makeScaleX(_ xScale: CGFloat) -> DKChainableAnimationKit { let xScale = max(0, xScale) self.addAnimationCalculationAction { (view: UIView) -> Void in let scaleAnimation = self.basicAnimationForKeyPath("bounds") @@ -152,7 +152,7 @@ public extension DKChainableAnimationKit { scaleAnimation.toValue = NSValue(cgRect: rect) self.addAnimationFromCalculationBlock(scaleAnimation) } - + self.addAnimationCompletionAction { (view: UIView) -> Void in let rect = CGRect(x: 0, y: 0, width: view.bounds.size.width, height: max(view.bounds.size.height * xScale, 0)) view.layer.bounds = rect @@ -160,8 +160,8 @@ public extension DKChainableAnimationKit { } return self } - - public func makeScaleY(_ yScale: CGFloat) -> DKChainableAnimationKit { + + func makeScaleY(_ yScale: CGFloat) -> DKChainableAnimationKit { let yScale = max(0, yScale) self.addAnimationCalculationAction { (view: UIView) -> Void in let scaleAnimation = self.basicAnimationForKeyPath("bounds") @@ -170,7 +170,7 @@ public extension DKChainableAnimationKit { scaleAnimation.toValue = NSValue(cgRect: rect) self.addAnimationFromCalculationBlock(scaleAnimation) } - + self.addAnimationCompletionAction { (view: UIView) -> Void in let rect = CGRect(x: 0, y: 0, width: max(view.bounds.size.width * yScale, 0), height: view.bounds.size.height) view.layer.bounds = rect @@ -178,18 +178,18 @@ public extension DKChainableAnimationKit { } return self } - - + + // MARK: - Move - - public func moveX(_ x: CGFloat) -> DKChainableAnimationKit { + + func moveX(_ x: CGFloat) -> DKChainableAnimationKit { self.addAnimationCalculationAction { (view: UIView) -> Void in let positionAnimation = self.basicAnimationForKeyPath("position.x") - positionAnimation.fromValue = view.layer.position.x as AnyObject! - positionAnimation.toValue = (view.layer.position.x + x) as AnyObject! + positionAnimation.fromValue = view.layer.position.x as AnyObject? + positionAnimation.toValue = (view.layer.position.x + x) as AnyObject? self.addAnimationFromCalculationBlock(positionAnimation) } - + self.addAnimationCompletionAction { (view: UIView) -> Void in var position = view.layer.position position.x += x @@ -197,15 +197,15 @@ public extension DKChainableAnimationKit { } return self } - - public func moveY(_ y: CGFloat) -> DKChainableAnimationKit { + + func moveY(_ y: CGFloat) -> DKChainableAnimationKit { self.addAnimationCalculationAction { (view: UIView) -> Void in let positionAnimation = self.basicAnimationForKeyPath("position.y") - positionAnimation.fromValue = view.layer.position.y as AnyObject! - positionAnimation.toValue = (view.layer.position.y + y) as AnyObject! + positionAnimation.fromValue = view.layer.position.y as AnyObject? + positionAnimation.toValue = (view.layer.position.y + y) as AnyObject? self.addAnimationFromCalculationBlock(positionAnimation) } - + self.addAnimationCompletionAction { (view: UIView) -> Void in var position = view.layer.position position.y += y @@ -213,8 +213,8 @@ public extension DKChainableAnimationKit { } return self } - - public func moveXY(_ x :CGFloat, _ y: CGFloat) -> DKChainableAnimationKit { + + func moveXY(_ x :CGFloat, _ y: CGFloat) -> DKChainableAnimationKit { self.addAnimationCalculationAction { (view: UIView) -> Void in let positionAnimation = self.basicAnimationForKeyPath("position") let oldOrigin = view.layer.frame.origin @@ -223,7 +223,7 @@ public extension DKChainableAnimationKit { positionAnimation.toValue = NSValue(cgPoint: newPosition) self.addAnimationFromCalculationBlock(positionAnimation) } - + self.addAnimationCompletionAction { (view: UIView) -> Void in var position = view.layer.position position.x += x @@ -232,8 +232,8 @@ public extension DKChainableAnimationKit { } return self } - - public func moveHeight(_ height: CGFloat) -> DKChainableAnimationKit { + + func moveHeight(_ height: CGFloat) -> DKChainableAnimationKit { self.addAnimationCalculationAction { (view: UIView) -> Void in let positionAnimation = self.basicAnimationForKeyPath("bounds.size") let newSize = CGSize(width: view.layer.bounds.size.width, height: max(view.layer.bounds.size.width + height, 0)) @@ -241,7 +241,7 @@ public extension DKChainableAnimationKit { positionAnimation.toValue = NSValue(cgSize: newSize) self.addAnimationFromCalculationBlock(positionAnimation) } - + self.addAnimationCompletionAction { (view: UIView) -> Void in let newSize = CGSize(width: view.layer.bounds.size.width, height: max(view.layer.bounds.size.width + height, 0)) let bounds = CGRect(origin: CGPoint.zero, size: newSize) @@ -250,8 +250,8 @@ public extension DKChainableAnimationKit { } return self } - - public func moveWidth(_ width: CGFloat) -> DKChainableAnimationKit { + + func moveWidth(_ width: CGFloat) -> DKChainableAnimationKit { self.addAnimationCalculationAction { (view: UIView) -> Void in let positionAnimation = self.basicAnimationForKeyPath("bounds.size") let newSize = CGSize(width: max(view.layer.bounds.size.width + width, 0), height: view.layer.bounds.size.height) @@ -259,7 +259,7 @@ public extension DKChainableAnimationKit { positionAnimation.toValue = NSValue(cgSize: newSize) self.addAnimationFromCalculationBlock(positionAnimation) } - + self.addAnimationCompletionAction { (view: UIView) -> Void in let newSize = CGSize(width: max(view.layer.bounds.size.width + width, 0), height: view.layer.bounds.size.height) let bounds = CGRect(origin: CGPoint.zero, size: newSize) @@ -268,8 +268,8 @@ public extension DKChainableAnimationKit { } return self } - - public func movePolar(_ radius: Double, _ angle: Double) -> DKChainableAnimationKit { + + func movePolar(_ radius: Double, _ angle: Double) -> DKChainableAnimationKit { let radians = self.degreesToRadians(angle) let x = CGFloat(radius * cos(radians)) let y = CGFloat(-radius * sin(radians)) diff --git a/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Transform.swift b/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Transform.swift index 0ae6809..41bad3d 100644 --- a/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Transform.swift +++ b/DKChainableAnimationKit/Classes/DKChainableAnimationKit+Transform.swift @@ -151,8 +151,8 @@ extension DKChainableAnimationKit { let rotationAnimation = self.basicAnimationForKeyPath("transform.rotation") let transform = view.layer.transform let originalRotation = Double(atan2(transform.m12, transform.m11)) - rotationAnimation.fromValue = originalRotation as AnyObject! - rotationAnimation.toValue = (originalRotation + self.degreesToRadians(angle)) as AnyObject! + rotationAnimation.fromValue = originalRotation as AnyObject? + rotationAnimation.toValue = (originalRotation + self.degreesToRadians(angle)) as AnyObject? self.addAnimationFromCalculationBlock(rotationAnimation) } diff --git a/DKChainableAnimationKit/Classes/DKKeyFrameAnimation.swift b/DKChainableAnimationKit/Classes/DKKeyFrameAnimation.swift index 1a6babb..ac26b68 100644 --- a/DKChainableAnimationKit/Classes/DKKeyFrameAnimation.swift +++ b/DKChainableAnimationKit/Classes/DKKeyFrameAnimation.swift @@ -123,7 +123,7 @@ open class DKKeyFrameAnimation: CAKeyframeAnimation { m41: m41, m42: m42, m43: m43, m44: m44) as [AnyObject] } } - self.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear) + self.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.linear) } } diff --git a/DKChainableAnimationKit/Classes/UIView+AnimationKit.swift b/DKChainableAnimationKit/Classes/UIView+AnimationKit.swift index 7b5ccc5..93c21ea 100644 --- a/DKChainableAnimationKit/Classes/UIView+AnimationKit.swift +++ b/DKChainableAnimationKit/Classes/UIView+AnimationKit.swift @@ -12,7 +12,7 @@ private var animationKitAssociationKey = "animationKitAssociationKey" public extension UIView { - final public var animation: DKChainableAnimationKit { + final var animation: DKChainableAnimationKit { get { var animation: DKChainableAnimationKit! = objc_getAssociatedObject(self, &animationKitAssociationKey) as? DKChainableAnimationKit if let animation = animation { @@ -26,7 +26,7 @@ public extension UIView { } } - final public func bezierPathForAnimation() -> UIBezierPath { + final func bezierPathForAnimation() -> UIBezierPath { let path = UIBezierPath() path.move(to: self.layer.position) return path diff --git a/iOS Example.xcodeproj/project.pbxproj b/iOS Example.xcodeproj/project.pbxproj index b916056..fb85761 100644 --- a/iOS Example.xcodeproj/project.pbxproj +++ b/iOS Example.xcodeproj/project.pbxproj @@ -213,11 +213,11 @@ TargetAttributes = { 18CEB5BB1B059B0300B6ACCB = { CreatedOnToolsVersion = 6.3; - LastSwiftMigration = 0920; + LastSwiftMigration = 1100; }; 18CEB5D01B059B0300B6ACCB = { CreatedOnToolsVersion = 6.3; - LastSwiftMigration = 0920; + LastSwiftMigration = 1100; TestTargetID = 18CEB5BB1B059B0300B6ACCB; }; }; @@ -227,6 +227,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -433,8 +434,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.draveness.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "iOS Example"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -447,8 +447,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.draveness.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "iOS Example"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Release; }; @@ -468,8 +467,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.draveness.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "iOS ExampleTests"; - SWIFT_SWIFT3_OBJC_INFERENCE = On; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/iOS Example.app/iOS Example"; }; name = Debug; @@ -486,8 +484,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.draveness.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "iOS ExampleTests"; - SWIFT_SWIFT3_OBJC_INFERENCE = On; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/iOS Example.app/iOS Example"; }; name = Release; diff --git a/iOS Example/AppDelegate.swift b/iOS Example/AppDelegate.swift index eddad5d..8272292 100644 --- a/iOS Example/AppDelegate.swift +++ b/iOS Example/AppDelegate.swift @@ -14,7 +14,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. return true } diff --git a/iOS Example/ViewController.swift b/iOS Example/ViewController.swift index 473d81d..1516006 100644 --- a/iOS Example/ViewController.swift +++ b/iOS Example/ViewController.swift @@ -30,8 +30,8 @@ class ViewController: UIViewController { let button = UIButton(frame: CGRect(x: 0, y: 0, width: 50, height: 50)) button.frame = CGRect(x: 0, y: self.view.bounds.size.height - 50.0, width: self.view.bounds.size.width, height: 50) button.backgroundColor = UIColor.blue - button.setTitle("Action!", for: UIControlState.normal) - button.setTitleColor(UIColor.white, for: UIControlState.normal) + button.setTitle("Action!", for: .normal) + button.setTitleColor(.white, for: .normal) button.addTarget(self, action: #selector(ViewController.animateView(_:)), for: .touchUpInside) self.view.addSubview(button) }