Что изменило следующего ответчика моего NSWindow?

Я пытаюсь отладить проблему, вызванную сменой следующего респондента основного NSWindow. У меня есть внутренний NSView и цепочка пользовательских NSResponder, однако даже после отладки и установки точек останова во всех setNextResponder я никогда не останавливаюсь на одном из них, и все, что я делаю, это просто меняю стиль окна.

Как я могу получить, что изменил следующий ответчик? Это только из-за смены стиля? Я не могу найти его в документации. Есть что-то, что мне не хватает? Какие операции могут испортить цепочку ответчиков?


person Stan    schedule 01.10.2015    source источник
comment
На самом деле вы можете ответить на свой вопрос, чтобы помочь будущим посетителям, это будет более заметно, чем комментарий. Подумайте также о том, чтобы связать документацию и процитировать соответствующие части.   -  person spenibus    schedule 01.10.2015


Ответы (1)


Используя контрольные точки, я точно выяснил, что [super setStyleMask:NSBorderlessWindowMask]; обнуляет _nextResponder экземпляра NSWindow. В официальной документации я узнал, что Некоторые изменения маски стиля вызывают перестройку иерархии представлений. Я надеюсь, что может быть полезен для кого-то еще...

person Stan    schedule 02.10.2015