私はCALayerを持っており、UIImageViewとして使用したいと考えています。UIImageViewのCALayer
CALayer *rootLayer = [CALayer layer];
そして、私はそのようなタイマーでそれを移動したいと思います:
Image.center=CGPointMake(Image.center.x +10, Image.center.y);
私はCALayerを持っており、UIImageViewとして使用したいと考えています。UIImageViewのCALayer
CALayer *rootLayer = [CALayer layer];
そして、私はそのようなタイマーでそれを移動したいと思います:
Image.center=CGPointMake(Image.center.x +10, Image.center.y);
このためには、私はそうここに...タイマーなどで層をそれを移動することができるでしょうその方法CABasicAnimation
が必要です。タイマーの場合は、NSTimer
を作成します。 performSelectorOnMainThread
メソッドの1つを使用して、タイマーがメインスレッドのメソッドを起動することを確認します。
この方法では、CABasicAnimation
がレイヤーに追加されます。アニメーションが終了すると、レイヤーは元の位置に表示されますので、終了位置に注意する必要があります。
animationDidStart
代理コールバックCABasicAnimation
のレイヤーのモデル値を更新する必要があることを解決するには、
繰り返しアニメーション(タイマーを使用していると思われます)の場合は、removedOnCompletion
フラグを使用できます。つまり、同じアニメーションを繰り返し使用することができます。それを利用する方法の詳細については、この質問をチェックアウト:
How to reuse an CABasicAnimation when not removed after completion?
ので、uiimageviewにレイヤを割り当てることは不可能ですか? –
画像ビューには既にレイヤーがあります。すべてのビューはCALayerによってサポートされています。 myview.layerを呼び出して、そのプロパティにアクセスします。 addAnimation –
最後の少しの質問を使用してそのレイヤーにアニメーションを追加するだけで、私はあなたの答えを受け入れます:image.pngの代わりにuiimageViewのレイヤーを使用する方がパフォーマンスが良いですか? –