2016-07-15 22 views
0

申し訳ありませんが、私はスクロールビューがスクロールされるにつれて徐々にアニメーションをトリガーしようとしています。これを行うために、私はここにこのリンクを取り、迅速にそれを変換している - http://www.oliverfoggin.com/controlling-animations-with-a-uiscrollview/迅速にPERCENTAGEでアニメーションをトリガーするにはどうすればよいですか?

私に私scrollviewのための割合xオフセットを与えます。これはすべて素晴らしいです。

問題は、私は迅速にかなり新たなんだと色を変えるのではなく、移動/変換である私の既存のアニメーションにこのバックを結びつける方法がわからないです。

はここhere-

self.borderlines.transform = CATransform3DMakeScale(CGFloat(0.01), CGFloat(1.0), 1) 
self.activeBorder.layer.opacity = 1 

CATransaction.begin() 
self.activeBorder.layer.transform = CATransform3DMakeScale(CGFloat(0.03), CGFloat(1.0), 1) 
let anim2 = CABasicAnimation(keyPath: "transform") 
let fromTransform = CATransform3DMakeScale(CGFloat(0.01), CGFloat(1.0), 1) 
let toTransform = CATransform3DMakeScale(CGFloat(1.0), CGFloat(1.0), 1) 
anim2.fromValue = NSValue(CATransform3D: fromTransform) 
anim2.toValue = NSValue(CATransform3D: toTransform) 
anim2.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseOut) 
anim2.fillMode = kCAFillModeForwards 
anim2.removedOnCompletion = false 
self.activeBorder.layer.addAnimation(anim2, forKey: "_activeBorder") 

CATransaction.commit() 

私のアニメーションだ。そして私はまた、別の移動のアニメーションを持っています。これらは接触しているので、1静的事象と呼ばれます。

私が再計算さ見ることができるものからチュートリアルの男が/ EVERYスクロールが、その後の割合でBGの色を変える彼のアニメーションをトリガします。これを他のタイプのアニメーションに適用する方法はわかりません。彼はキーフレームについて言及していますが、それらが何であるかわかりません。

どのように私はこの効果を達成することができますか?ここで変更する必要があるのは何ですか?

答えて

1

レイヤーのspeedをゼロに設定し、スクロールの応答としてtimeOffsetを操作することで、アニメーションをフリーズします。

+0

ここでダウンロード可能な例:https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/bk2ch04p160frozenAnimation/FrozenAnimationTest/ViewController.swiftスクロールビューではなくスライダですが、原則は同じ。 – matt

関連する問題