НаблюдатьValueForKeyPath не вызывает - PullRequest
3 голосов
/ 18 октября 2011

Я использую код наблюдателя, следующий за кодом

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];
    }
}

, но я никогда не получал Журнал наблюденийValueForKeyPath

1 Ответ

1 голос
/ 23 декабря 2011

UIKit не всегда совместим с KVO, и вы не должны принимать как должное то, что свойства классов UIKit когда-либо KVO-совместимы, даже если они кажутся экспериментальными.

См. Также: iOS: Как узнать, является ли свойство совместимым с KVO?

...