3

コードに続くオブザーバーを使用しています

myView = [[UIView alloc] initWithFrame:CGRectZero];
[myView addObserver:self forKeyPath:@"frame" options:NSKeyValueObservingOptionNew context:nil];

別のコード

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
    NSLog(@"observeValueForKeyPath");
    if([keyPath isEqualToString:@"frame"]) 
    {
        [self layoutViews];
    }
}

しかし、ログobserveValueForKeyPathを取得したことはありません

4

1 に答える 1

1

UIKit は一貫して KVO に準拠しているわけではありません。また、UIKit クラスのプロパティが KVO に準拠していることを当然のことと考えるべきではありませ

参照: iOS: プロパティが KVO に準拠しているかどうかを確認するにはどうすればよいですか?

于 2011-12-23T04:15:07.783 に答える