2017-03-21 4 views
0

私はアプリでアニメーション効果のためにSpring libraryを使用しています。アニメーション用のiOS "Spring"ライブラリでは、 "animate()"メソッドを呼び出す前に、毎回 "animation"プロパティを設定する必要がありますか?

私の場合、ボタンを動かす必要があるので、次のコードブロックを追加しました。

override func viewDidLoad() { 
    super.viewDidLoad() 
    setOptions() 
} 
func setOptions() { 
    testButton.animation = Spring.AnimationPreset.Shake.rawValue 
    testButton.curve = Spring.AnimationCurve.EaseIn.rawValue 
} 
@IBAction func testButtonPressed(_ sender: Any) { 
    animateView() 
} 

上記のコードフローでは、アニメーションアクションは1回だけ発生します。

しかし、次のように、私は「testButtonPressed」メソッドを更新した場合、

@IBAction func testButtonPressed(_ sender: Any) { 
    setOptions() 
    animateView() 
} 

アニメーションは、私がtestButtonを押すたびに発生します。

毎回アニメーションのプロパティを更新する必要があるのはなぜですか?プロパティを1回更新するだけでは不十分ですか?

答えて

0

ライブラリでは、resetAllはアニメーションのタイプとアニメーションの実行後のすべての属性を削除します。このメソッドは、Springファイル内のアニメーションブロックの完成時に呼び出されます。

ここには、Springファイルへのリンクと、アニメーションを削除する関数のコピーがあります。

func resetAll() { 
    x = 0 
    y = 0 
    animation = "" 
    opacity = 1 
    scaleX = 1 
    scaleY = 1 
    rotate = 0 
    damping = 0.7 
    velocity = 0.7 
    repeatCount = 1 
    delay = 0 
    duration = 0.7 
} 

希望はこれを使用すると、アニメーションの種類をリセットするまでアニメーションが削除される理由を理解するのに役立ちます。

関連する問題