Я использую NSScrollView для отображения очень длинного NSView, ширина которого превышает 72000 пикселей. Он хорошо прокручивается, когда я перетаскиваю ручку, и она также хорошо реагирует на метод scrollRectToVisible.NSScrollView реагирует ненормально на пробел
И затем, я использую таймер для обновления NSScrollView слева направо. Все работает хорошо, за исключением случаев, когда я нажимаю клавишу пробела. Когда клавиша пробела нажата, вид прокрутки будет остановлен на некоторое время. Когда я удерживаю клавишу пробела вниз, прокрутка будет мигать вправо и влево.
Интересно, как я могу отключить клавишу пробела для nsscroll зрения, потому что я не хочу любого пространства ключевых взаимодействий
Я включил NSTraceEvent, и выяснил следующие журналы:
2011-12-22 12: 36: 51.563 CIVideoDemoGL [255: a0f] Полученное событие: KeyDown at: 131.0,880.0 время: 262523518000 flags: 0x100 win: 0 ctxt: af37 данные: 1,252,32,49,32
2011-12-22 12: 36: 51.563 CIVideoDemoGL [255: a0f] В приложении: NSEvent: type = KeyDown loc = (0,944) time = 262.5 flags = 0x100 win = 0x0 winNum = 47 ctxt = 0xaf37 chars = "" unmodchars = "" repeat = 1 keyCode = 49
2011-12-22 12: 36: 51.563 CIVideoDemoGL [255: a0f] В окне: NSEvent: type = KeyDown loc = (0,944) time = 262,5 flags = 0x100 win = 0x0 winNum = 47 ctxt = 0xaf37 chars = "" unmodchars = "" repeat = 1 keyCode = 49
2011-12-22 12: 36: 51.564 CIVideoDemoGL [255: a0f] тайм-аут = 62767682588.435905 секунд, маска = FFFFFFFF, Dequeue = 1, режим = kCFRunLoopDefaultMode
Что я должен сделать, чтобы игнорировать клавишу пробела вниз событие для nsscrollview?
Спасибо, Роб. Я уже подклассифицировал NSScrollView и выяснил, что он никогда не будет вызван для метода -keDown:. –