touchesBegan не вызывается в подклассе NSScrollView до тех пор, пока первая мышь / трекпад не щелкнет мышью по представлению - PullRequest
0 голосов
/ 12 ноября 2018

Я создаю подкласс NSScrollView для мониторинга панорамирования двумя пальцами с помощью прикосновений Began / Moved / Ended. Это работает до тех пор, пока я нажимаю на вид один раз после запуска приложения. Тогда он всегда будет работать до следующего запуска приложения.

Я думаю, что я упускаю что-то очень очевидное здесь. Возможно свойство NSScrollView / NSView, которое позволяет ему немедленно принимать прикосновения. Может кто-нибудь помочь?

Кстати, NSScrollView автоматически создается в раскадровке, когда я добавляю NSTableView.

1 Ответ

0 голосов
/ 13 ноября 2018

Нашел решение.

На самом деле это приложение строки меню, поэтому контроллер представления находится внутри NSPopover. Отображение приложения в всплывающем окне не делает приложение активированным приложением. Я должен использовать следующую строку, чтобы сделать его активным, прежде чем он сможет реагировать на прикосновения.

NSApplication.shared.activate(ignoringOtherApps: true)
...