我正在尝试调试由主NSWindow
的下一个响应器更改引起的问题。我有一个内部的NSView
和自定义的NSResponder
链,然而,即使在调试和粘断点在每个setNextResponder
之后,我从来没有停止其中一个,我所做的只是改变窗口的风格。
我怎么能得到什么改变了下一个响应者?只是因为款式的变化吗?我在文档中找不到。我是不是漏掉了什么?哪些操作会扰乱响应链?
使用观察点,我确切地发现[super setStyleMask:NSBorderlessWindowMask];
将NSWindow
实例的_nextResponder
设置为nil。在官方文档中,我发现一些样式掩码更改导致视图层次结构被重建。