2009-08-19 8 views
1

UIViewがフレーム変更またはアファイン変換のいずれかによって変更されたときに、いくつかのメソッドを実行することに興味があります。私のベストプラクティスは、UIViewのivarsのキー値コーディング

myView.framemyView.transformの値の変化を観察することによってこれを行うことです。

ただし、UIViewのビュー部分はKey-Valueの苦情ではありません。 Fortunatlyビューのモデル部分は、CALayerです。だから、私は次のように設定しました。

[self.layer addObserver:self forKeyPath:@"transform" 
options:(NSKeyValueObservingOptionNew) context:NULL]; 

viewDidLoad:ビューの部分です。私は "フレーム"キーについても同じことをしました。しかし、ビューが変更された場合、どちらかそれに周りの景色を移動することで、スーパービューだ、またはアフィン変換によって、方法:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object 
change:(NSDictionary *)change context:(void *)context { 

が呼び出されることはありません。何がありますか? UIViewsフレームと変換の変更を観察する良い方法はありますか?

答えて

2

私はKVC準拠がKVO準拠を意味するとは思わない。私は、KVOはパフォーマンス上の理由からCALayerのプロパティでは利用できないと読んだと思います。

関連する問題