iOS9:KVO 不再工作

iOS 9: KVO no longer working

我在 UITextView 上有一个观察器来检测其内容大小是否发生变化:

[_textView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew context:NULL];

这段代码总是可以调用以下函数,我在其中调整 UITextView 的大小:

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

但是,在 iOS9 中,此函数从未被调用。 iOS 9 中发生了什么变化,我该如何解决?

如果您搜索 UIKit 和 KVO Compliance,您会发现每个人都说您不能依赖它。参见 this question and this question

我不知道发生了什么变化,但我认为如果您想知道它何时发生变化,您应该只继承 UITextView 并重载 setContentSize:。