Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion MotionAnimation/MotionAnimator.swift
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ open class MotionAnimator: NSObject {
super.init()
}

func update() {
@objc func update() {
_removeAllPendingStopAnimations()

let duration = CGFloat(displayLink.duration)
Expand Down
6 changes: 5 additions & 1 deletion MotionAnimation/Types.swift
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,11 @@ extension UIColor:MotionAnimatableProperty{
return self.init(red: values[0], green: values[1], blue: values[2], alpha: values[3])
}
public func toCGFloatValues(_ values: inout [CGFloat]) {
self.getRed(&values[0], green: &values[1], blue: &values[2], alpha: &values[3])
var r = values[0]
var g : CGFloat = values[1]
var b : CGFloat = values[2]
var a : CGFloat = values[3]
self.getRed(&r, green: &g, blue: &b, alpha: &a)
}
}

Expand Down
22 changes: 18 additions & 4 deletions MotionAnimationExample.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -152,14 +152,14 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0720;
LastUpgradeCheck = 0800;
LastUpgradeCheck = 0900;
ORGANIZATIONNAME = lkzhao;
TargetAttributes = {
A3D92B211C6803C000C34FBD = {
CreatedOnToolsVersion = 7.2;
DevelopmentTeam = 4VSEW78TKT;
DevelopmentTeamName = "Yi Lun Zhao";
LastSwiftMigration = 0800;
LastSwiftMigration = 0900;
};
};
};
Expand Down Expand Up @@ -237,14 +237,20 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
Expand Down Expand Up @@ -284,14 +290,20 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
Expand Down Expand Up @@ -324,7 +336,8 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.lkzhao.MotionAnimation;
PRODUCT_NAME = MotionAnimationExample;
SWIFT_VERSION = 3.0;
SWIFT_SWIFT3_OBJC_INFERENCE = On;
SWIFT_VERSION = 4.0;
};
name = Debug;
};
Expand All @@ -337,7 +350,8 @@
PRODUCT_BUNDLE_IDENTIFIER = com.lkzhao.MotionAnimation;
PRODUCT_NAME = MotionAnimationExample;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_VERSION = 3.0;
SWIFT_SWIFT3_OBJC_INFERENCE = On;
SWIFT_VERSION = 4.0;
};
name = Release;
};
Expand Down
2 changes: 1 addition & 1 deletion MotionAnimationExample/ListViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ class ListViewController: ExampleBaseViewController {
listItems.first?.m_animate("center", to: CGPoint(x: view.center.x, y: 150), stiffness: 200, damping:15, threshold:1)
}

func pan(_ gr:LZPanGestureRecognizer){
@objc func pan(_ gr:LZPanGestureRecognizer){
switch gr.state{
case .began, .changed:
// move the item under touch
Expand Down
6 changes: 3 additions & 3 deletions MotionAnimationExample/SquareViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -54,19 +54,19 @@ class SquareViewController: ExampleBaseViewController {
}

var isBig = false
func doubleTap(_ gr:UITapGestureRecognizer){
@objc func doubleTap(_ gr:UITapGestureRecognizer){
let newSize = isBig ? CGSize(width: 150, height: 150) : CGSize(width: 200, height: 200)
let newColor = isBig ? UIColor.white : UIColor.black
isBig = !isBig
square.m_animate("backgroundColor", to: newColor, stiffness:200, damping:10)
square.m_animate("bounds", to: CGRect(origin: CGPoint.zero, size: newSize), stiffness:200, damping:10)
}

func tap(_ gr:UITapGestureRecognizer){
@objc func tap(_ gr:UITapGestureRecognizer){
square.m_animate("center", to: gr.location(in: view), stiffness:200, damping:10)
}

func pan(_ gr:LZPanGestureRecognizer){
@objc func pan(_ gr:LZPanGestureRecognizer){
// high stiffness -> high acceleration (will help it stay under touch)
square.m_animate("center", to: gr.translatedViewCenterPoint, stiffness:500, damping:25)
}
Expand Down