У меня странная проблема, когда я щелкаю в своем окне.Уходит в отставку главный и ключевой.Затем я возвращаюсь к нему, и представление, на которое щелкнули, не реагирует на щелчок мышью.Но второй щелчок заставляет представление реагировать.Как будто во время первого щелчка окно не было ключевым, и щелчок заставил его стать ключевым и смог обработать второй щелчок.
Я подклассифицировал NSApplication
и перехватил sendEvent:
, чтобы увидеть, если мойприложение получало события во время первого клика, и это действительно так.Кроме того, я сбросил цепочку респондента и увидел, что мой взгляд действительно был в цепочке, но окно не было ключевым до второго щелчка.Я также заметил, что когда я получаю событие первого нажатия, приложение даже не активируется.Как это возможно?Разве приложение не должно стать активным, когда оно получает событие мыши?Цыпленок / яйцо ...
Есть мысли / предложения?
Обновление: Прочитав документы, я нашел это:
Мышьсобытия down-down отправляются, когда пользователь нажимает кнопку мыши, когда курсор находится над объектом просмотра.Если окно, содержащее вид, не является ключевым, оно становится ключевым и отбрасывает событие нажатия мыши.Тем не менее, представление может обойти это поведение по умолчанию, переопределив метод acceptViewFirstMouse: NSView для возврата YES.
Таким образом, похоже, что это происходит.Однако я попытался переопределить acceptsFirstMouse:
и acceptsFirstResponder
, но безрезультатно.Мои взгляды до сих пор не «принимают первую мышь».
Спасибо!