我有一个CAShapeLayer
,其strokeEnd
我偶尔会在NSTimer
循环内更新。当我打电话时,效果很好:
myPathLayer.strokeEnd += 0.1
这条路径会根据我的需要自动动画。我的问题是,因为这不是函数调用,所以没有完成块。这个动画完成后,我想执行另一个动作。我怎样才能做到这一点?
答案 0 :(得分:1)
您可以使用CATransaction进行换行,以设置图层动画的完成块。
CATransaction.begin()
CATransaction.setCompletionBlock({self.myFunction()})
myPathLayer.strokeEnd += 0.1
CATransaction.commit()
希望有更好的方法,但这就是我做到的。
答案 1 :(得分:0)
您可以使用CAAnimation委托方法。
Route::get('/checkout',[
'uses' =>'ProductController@getCheckout',
'as' => 'checkout'
]);
Route::post('/checkout',[
'uses'=> 'ProductController@postCheckout',
'as'=>'checkout'
]);
然后
class Whatever: CAAnimationDelegate { ...
并使用委托方法:
let animation = CABasicAnimation(keyPath: <your_key_path>)
...
animation.delegate = self