UIViewがフレーム変更またはアファイン変換のいずれかによって変更されたときに、いくつかのメソッドを実行することに興味があります。私のベストプラクティスは、UIViewのivarsのキー値コーディング
myView.frame
とmyView.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フレームと変換の変更を観察する良い方法はありますか?