我在 UITextView 上有一个观察者来检测其内容大小是否正在变化:
[_textView addObserver:self forKeyPath:@"contentSize"options:NSKeyValueObservingOptionNew context:NULL];
这段代码总是可以调用以下函数,我可以在其中调整 UITextView 的大小:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)对象更改:(NSDictionary *)更改上下文:(void *)上下文
但是,在 iOS 9 中,这个函数永远不会被调用。 iOS 9 发生了什么变化以及如何解决这个问题?
最佳答案
如果您搜索 UIKit 和 KVO 合规性,您会发现每个人都说您不能依赖它。请参阅this question和 this question 。
我不知道发生了什么变化,但我认为如果你想知道它何时发生变化,你应该继承 UITextView 并重载 setContentSize: 。
关于iOS 9 : KVO no longer working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32511864/