2011-09-29 11 views
0
  • [myLayer setName:@"layer_1"]レイヤの名前を設定しました。しかし、どうすれば別の方法からそれを得ることができますか? [self.view.layer.sublayers getLayerByName:@"layer_1"]のようなものはありますか?
  • CALayerをアニメーションして、すばらしい滑らかな効果で別の位置に移動する方法はありますか?

答えて

3

nameプロパティは、レイアウトマネージャがiOS上に存在しないことを除いて、主に一部のレイアウトマネージャで使用されることを想定しています。この時点では、デバッグが非常に便利です。

アニメーションでは、自分で作成したCALayerを使用している場合は、プロパティを変更するときに暗黙のアニメーションが表示されます。 CAAnimationサブクラスを使用して明示的なアニメーションを設定することができます。CATransactionで暗黙のアニメーションのパラメータを調整することもできます。

UIViewに関連付けられたレイヤーを使用している場合は、すべての暗黙のアニメーションが無効になります。 CAAnimationサブクラスを使用して明示的に明示的にサブクラスを作成することも、UIView animation methodsを使用することもできます。

+0

「UIView」に関連付けられているレイヤでは、「self.view.layer」という意味ですか?私は 'CALayer * layer = [CALayer layer]'で新しいレイヤーを作成しました。アニメーションは正常に動作します。私のレイヤーをviewDidLoadメソッドで作成するには、インスタンス変数 'CALayer * mylayer'を使用します。これは問題ありません。ありがとう。 –

+0

はい、 'view.layer'から引き出されたレイヤーは、暗黙のアニメーションが抑制されます。 '[CALayer layer]'で作成されたレイヤーは暗黙のアニメーションをサポートします。 –

関連する問題