Skip to content

Commit

Permalink
Add feature to tween constraint of AutoLayout
Browse files Browse the repository at this point in the history
  • Loading branch information
mrgoonie committed Oct 19, 2014
1 parent 35e9d53 commit 94403fc
Show file tree
Hide file tree
Showing 29 changed files with 532 additions and 295 deletions.
132 changes: 64 additions & 68 deletions GTween.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

Empty file modified GTween.xcodeproj/project.xcworkspace/contents.xcworkspacedata
100644 → 100755
Empty file.
Empty file.
Empty file.
Empty file modified GTween/AppDelegate.swift
100644 → 100755
Empty file.
Empty file modified GTween/Base.lproj/LaunchScreen.xib
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion GTween/Base.lproj/Main.storyboard
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="6245" systemVersion="13F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="BYZ-38-t0r">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="6245" systemVersion="14A389" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="BYZ-38-t0r">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6238"/>
</dependencies>
Expand Down
28 changes: 27 additions & 1 deletion GTween/GTween/GTween.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,41 @@ import QuartzCore
struct GTween {
static var tweenArr:[TweenObject] = []

static var linearMode:ModeLinear = ModeLinear()
static var backMode:ModeBack = ModeBack()
static var quintMode:ModeQuint = ModeQuint()
static var elasticMode:ModeElastic = ModeElastic()
static var bounceMode:ModeBounce = ModeBounce()
static var sineMode:ModeSine = ModeSine()
static var expoMode:ModeExpo = ModeExpo()
static var circMode:ModeCirc = ModeCirc()
static var cubicMode:ModeCubic = ModeCubic()
static var quartMode:ModeQuart = ModeQuart()
static var quadMode:ModeQuad = ModeQuad()

static func set(target:AnyObject, params:Dictionary<String, Any>){
var set = SetObject(_target: target, params:params)
}

static func to(target:AnyObject, time:Float, params:Dictionary<String, Any>, events:[String: ()->Void]=Dictionary()){
static func to(target:AnyObject,
time:Float,
params:Dictionary<String, Any>,
events:[String: ()->Void]=Dictionary())
{
var tween = TweenObject(_target: target, time: time, params:params, events:events)
tweenArr += [tween]
}

static func constraintTo(viewController:UIViewController,
constraint:AnyObject,
time:Float,
params:Dictionary<String, Any>,
events:[String: ()->Void]=Dictionary())
{
var tween = TweenConstraint(viewController: viewController, _target:constraint, time: time, params: params, events: events)
//tweenArr += [tween]
}

/*static func from(target:AnyObject, dur:Float, params:Dictionary<String, AnyObject>){
var tween = TweenObject(_target: target, time: dur, params:["x":100])
tweenArr += [tween]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import Foundation

struct Back {

static var easeIn:String { return Ease.Back + ".easeIn" }
static var easeOut:String { return Ease.Back + ".easeOut" }
static var easeInOut:String { return Ease.Back + ".easeInOut" }
static var easeIn:String { return "Back.easeIn" }
static var easeOut:String { return "Back.easeOut" }
static var easeInOut:String { return "Back.easeInOut" }

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
import Foundation

struct Bounce {
static var easeIn:String { return Ease.Bounce + ".easeIn" }
static var easeOut:String { return Ease.Bounce + ".easeOut" }
static var easeInOut:String { return Ease.Bounce + ".easeInOut" }
static var easeIn:String { return "Bounce.easeIn" }
static var easeOut:String { return "Bounce.easeOut" }
static var easeInOut:String { return "Bounce.easeInOut" }
}

class ModeBounce {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import Foundation

struct Circ {

static var easeIn:String { return Ease.Circ + ".easeIn" }
static var easeOut:String { return Ease.Circ + ".easeOut" }
static var easeInOut:String { return Ease.Circ + ".easeInOut" }
static var easeIn:String { return "Circ.easeIn" }
static var easeOut:String { return "Circ.easeOut" }
static var easeInOut:String { return "Circ.easeInOut" }

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import Foundation

struct Cubic {

static var easeIn:String { return Ease.Cubic + ".easeIn" }
static var easeOut:String { return Ease.Cubic + ".easeOut" }
static var easeInOut:String { return Ease.Cubic + ".easeInOut" }
static var easeIn:String { return "Cubic.easeIn" }
static var easeOut:String { return "Cubic.easeOut" }
static var easeInOut:String { return "Cubic.easeInOut" }

}

Expand Down
199 changes: 199 additions & 0 deletions GTween/GTween/ease/Ease.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,199 @@
//
// Ease.swift
// GTween
//
// Created by Goon Nguyen on 10/10/14.
// Copyright (c) 2014 Goon Nguyen. All rights reserved.
//

import Foundation

struct Ease {
/*static var Linear:String = "Linear"
static var Back:String = "Back"
static var Elastic:String = "Elastic"
static var Quint:String = "Quint"
static var Sine:String = "Sine"
static var Bounce:String = "Bounce"
static var Expo:String = "Expo"
static var Circ:String = "Circ"
static var Cubic:String = "Cubic"
static var Quad:String = "Quad"
static var Quart:String = "Quart"*/

static var linearMode:ModeLinear = ModeLinear()
static var backMode:ModeBack = ModeBack()
static var quintMode:ModeQuint = ModeQuint()
static var elasticMode:ModeElastic = ModeElastic()
static var bounceMode:ModeBounce = ModeBounce()
static var sineMode:ModeSine = ModeSine()
static var expoMode:ModeExpo = ModeExpo()
static var circMode:ModeCirc = ModeCirc()
static var cubicMode:ModeCubic = ModeCubic()
static var quartMode:ModeQuart = ModeQuart()
static var quadMode:ModeQuad = ModeQuad()

static func getEaseNumber(type:String, time:Float)->Float {
var result:Float;

switch(type){

case Back.easeOut:
Ease.backMode.time = time
result = Ease.backMode.easeOutNumber
break

case Back.easeIn:
Ease.backMode.time = time
result = Ease.backMode.easeInNumber
break

case Back.easeInOut:
Ease.backMode.time = time
result = Ease.backMode.easeInOutNumber
break

case Elastic.easeOut:
Ease.elasticMode.time = time
result = Ease.elasticMode.easeOutNumber
break

case Elastic.easeIn:
Ease.elasticMode.time = time
result = Ease.elasticMode.easeInNumber
break

case Elastic.easeInOut:
Ease.elasticMode.time = time
result = Ease.elasticMode.easeInOutNumber
break

case Bounce.easeOut:
Ease.bounceMode.time = time
result = Ease.bounceMode.easeOutNumber
break

case Bounce.easeIn:
Ease.bounceMode.time = time
result = Ease.bounceMode.easeInNumber
break

case Bounce.easeInOut:
Ease.bounceMode.time = time
result = Ease.bounceMode.easeInOutNumber
break

case Sine.easeOut:
Ease.sineMode.time = time
result = Ease.sineMode.easeOutNumber
break

case Sine.easeIn:
Ease.sineMode.time = time
result = Ease.sineMode.easeInNumber
break

case Sine.easeInOut:
Ease.sineMode.time = time
result = Ease.sineMode.easeInOutNumber
break

case Expo.easeOut:
Ease.expoMode.time = time
result = Ease.expoMode.easeOutNumber
break

case Expo.easeIn:
Ease.expoMode.time = time
result = Ease.expoMode.easeInNumber
break

case Expo.easeInOut:
Ease.expoMode.time = time
result = Ease.expoMode.easeInOutNumber
break

case Circ.easeOut:
Ease.circMode.time = time
result = Ease.circMode.easeOutNumber
break

case Circ.easeIn:
Ease.circMode.time = time
result = Ease.circMode.easeInNumber
break

case Circ.easeInOut:
Ease.circMode.time = time
result = Ease.circMode.easeInOutNumber
break

case Cubic.easeOut:
Ease.cubicMode.time = time
result = Ease.cubicMode.easeOutNumber
break

case Cubic.easeIn:
Ease.cubicMode.time = time
result = Ease.cubicMode.easeInNumber
break

case Cubic.easeInOut:
Ease.cubicMode.time = time
result = Ease.cubicMode.easeInOutNumber
break

case Quad.easeOut:
Ease.quadMode.time = time
result = Ease.quadMode.easeOutNumber
break

case Quad.easeIn:
Ease.quadMode.time = time
result = Ease.quadMode.easeInNumber
break

case Quad.easeInOut:
Ease.quadMode.time = time
result = Ease.quadMode.easeInOutNumber
break

case Quart.easeOut:
Ease.quartMode.time = time
result = Ease.quartMode.easeOutNumber
break

case Quart.easeIn:
Ease.quartMode.time = time
result = Ease.quartMode.easeInNumber
break

case Quart.easeInOut:
Ease.quartMode.time = time
result = Ease.quartMode.easeInOutNumber
break

case Quint.easeOut:
Ease.quintMode.time = time
result = Ease.quintMode.easeOutNumber
break

case Quint.easeIn:
Ease.quintMode.time = time
result = Ease.quintMode.easeInNumber
break

case Quint.easeInOut:
Ease.quintMode.time = time
result = Ease.quintMode.easeInOutNumber
break

default:
Ease.linearMode.time = time
result = Ease.linearMode.easeNoneNumber
break
}

return result
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
import Foundation

struct Elastic {
static var easeIn:String { return Ease.Elastic + ".easeIn" }
static var easeOut:String { return Ease.Elastic + ".easeOut" }
static var easeInOut:String { return Ease.Elastic + ".easeInOut" }
static var easeIn:String { return "Elastic.easeIn" }
static var easeOut:String { return "Elastic.easeOut" }
static var easeInOut:String { return "Elastic.easeInOut" }
}

class ModeElastic {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import Foundation

struct Expo {

static var easeIn:String { return Ease.Expo + ".easeIn" }
static var easeOut:String { return Ease.Expo + ".easeOut" }
static var easeInOut:String { return Ease.Expo + ".easeInOut" }
static var easeIn:String { return "Expo.easeIn" }
static var easeOut:String { return "Expo.easeOut" }
static var easeInOut:String { return "Expo.easeInOut" }

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ struct Linear {

//static var time:Float!

static var easeNone:String { return Ease.Linear + ".easeNone" }
static var easeNone:String { return "Linear.easeNone" }


}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import Foundation

struct Quad {

static var easeIn:String { return Ease.Quad + ".easeIn" }
static var easeOut:String { return Ease.Quad + ".easeOut" }
static var easeInOut:String { return Ease.Quad + ".easeInOut" }
static var easeIn:String { return "Quad.easeIn" }
static var easeOut:String { return "Quad.easeOut" }
static var easeInOut:String { return "Quad.easeInOut" }

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import Foundation

struct Quart {

static var easeIn:String { return Ease.Quart + ".easeIn" }
static var easeOut:String { return Ease.Quart + ".easeOut" }
static var easeInOut:String { return Ease.Quart + ".easeInOut" }
static var easeIn:String { return "Quart.easeIn" }
static var easeOut:String { return "Quart.easeOut" }
static var easeInOut:String { return "Quart.easeInOut" }

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import Foundation

struct Quint {

static var easeIn:String { return Ease.Quint + ".easeIn"}
static var easeOut:String { return Ease.Quint + ".easeOut"}
static var easeInOut:String { return Ease.Quint + ".easeInOut"}
static var easeIn:String { return "Quint.easeIn"}
static var easeOut:String { return "Quint.easeOut"}
static var easeInOut:String { return "Quint.easeInOut"}


}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import Foundation

struct Sine {

static var easeIn:String { return Ease.Sine + ".easeIn" }
static var easeOut:String { return Ease.Sine + ".easeOut" }
static var easeInOut:String { return Ease.Sine + ".easeInOut" }
static var easeIn:String { return "Sine.easeIn" }
static var easeOut:String { return "Sine.easeOut" }
static var easeInOut:String { return "Sine.easeInOut" }

}

Expand Down
Loading

0 comments on commit 94403fc

Please sign in to comment.