私はこのような値にアクセスすることができます。Key-Value-CALayerのローテーションを観察する方法は?
NSNumber* rotationZ = [myLayer valueForKeyPath:@"transform.rotation.z"];
しかし、私はKV-観察し、そのキーのパスをしようとした場合、何らかの理由で、私は、コンパイラエラーを取得します。まず、これは私がそれをしようとする方法です。
[myLayer addObserver:self forKeyPath:@"transform.rotation.z" options:0 context:nil];
コンパイラは私に語った:
***キャッチされない例外により 'NSUnknownKeyException'、 理由にアプリを終了:「[ addObserver: forKeyPath:@ "rotation.z" オプション:0x0コンテキスト:0x528890] は、KVCに準拠していないオブジェクトに送信されました "rotation"プロパティに使用しました。
私はKVCキーパスでz値にアクセスできますが、なぜオブザーバを追加しないのですか?これは理にかなっていますか?
他にどのようにその行列のz値を観測できましたか?私は行列の他の値については気にしません。 z回転のみ。それにアクセスしてそれを観察する他の方法はありますか?
これはまったく観察できないようです。私はbackgroundColorを観察することができます。しかし、私がlayer.transformでそれを試してみると、何も起こりません。オブザーバオブジェクトとしてレイヤーを設定し、keyPathに "transform"を設定すると、同じ問題が発生します。変換行列の変化を観測する方法がないようです。 –
同じです。あなたは単にそれを観察することができないように見えます。悪い。 Appleがアニメーション中に遠ざかりたいということは、おそらくパフォーマンス上の問題です。 – zumzum