0

I'm using auto layout in my project and I get the following message in the console window:

Attempting to get auto layout values with nil engine. Affected view:

This happens if I try to update my view hierarchy in observeValueForKeyPath:ofObject:change:context:

Does anyone know what the reason for this behavior can be?

4

1 回答 1

0

听起来您在错误的时间更新视图层次结构。我怀疑在视图生命周期的某个地方,您的 KVO 被调用,然后才真正设置好所有内容并准备好添加新视图。我意识到这可能不适合您的项目,但我建议根据支持的生命周期事件(如 viewDidLoad 或 viewWillLayoutSubviews)重新考虑您的任务。

如果您检测您感兴趣的事件的唯一方法是真正的 KVO,您可能能够通过设置标志来避免注意到发生的事情,然后在周期的后期更新您的视图层次结构。

于 2013-05-29T18:50:00.690 回答