フレームの変更またはアフィン変換によって UIView が変更されたときに、いくつかのメソッドを実行することに興味があります。私の最善のアイデアは、次の値の変化を観察することでこれを行うことです。
myView.frame
と myView.transform
。
ただし、UIViews のビュー部分は Key-Value 準拠ではありません。幸いなことに、ビューのモデル部分である 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 フレームと変換の変更を観察するより良い方法はありますか?