每当某些属性发生更改时(例如,每当框架或边界发生更改时自定义UIView的重新布局子视图),我都使用键值观察来执行特定操作。有什么方法可以查看触发这个改变的是谁(即什么功能)?在我的observeValueForKeyPath:ofObject:change:context:
中放置一个断点并没有帮助,因为我不认为我能看到是谁导致导致KVO触发的frame
或bounds
的更改。任何方式来看看谁触发的变化重新:关键值观察?
在我的具体例子中,我无法弄清楚我的UIView的尺寸是由谁来改变的。
编辑#1:我的堆栈跟踪的截屏,暂停时帧/边界时内observeValue...
叫另外请注意,这只是用于调试目的。
确定吗?尝试拖动堆栈跟踪窗口底部的滑块一直到右侧,您应该能够看到修改您正在观察的属性的函数 – CodaFi 2013-03-26 21:50:06
我添加了我的堆栈跟踪窗口的屏幕截图,所以请让我知道你看到了什么。我总是很难阅读这些。 – 2013-03-26 22:01:37
感谢@MartinR。任何想法什么'autoresizeArchivedView'是为什么它被称为?这不是我写的功能。如果这是相关的(?),我将'autoLayout'关闭。 – 2013-03-26 22:13:11