GSEvent и несколько пальцев

Я успешно отслеживаю необработанные прикосновения с помощью GSEvent, перехватывая sendEvent. Как извлечь информацию о касании, когда задействовано несколько пальцев?

Обновление 1: iOS 5.01

Обновление 2: мне удалось сделать это, перебрав набор allTouches, содержащийся в переданном событии. Он работает нормально, но зависает, когда распознаватели жестов срабатывают для события 4 или 5 пальцев.


person Yuriy Gettya    schedule 17.05.2012    source источник


Ответы (1)


Вы как бы правы. Переопределив метод sendEvent:, а затем получив GSEvent из UIEvent, вы можете получить необходимую системную информацию. Вы можете посмотреть поле "infoSize" в записи GSEvent, которое должно сообщить вам, сколько касаний задействовано в событии... Но зачем использовать GSEvent? Вы можете просто поместить один большой UIView в свое приложение, установить его свойство взаимодействия с несколькими касаниями как YES, переопределить его метод sendEvent, и вы должны получить каждое касание, даже жесты 4 и 5 пальцев. Вы можете пересылать неважные для вас касания и не пересылать неважные.

Надеюсь это поможет.

person Jorge Aguirre    schedule 01.06.2012
comment
Мне нужно отслеживать жесты в каждом приложении, поэтому требуется настройка. Я сделал это, перехватив sendEvent и перейдя через GSEventGetPathInfoAtIndex() и используя allTouches.count в качестве ограничения. Я обнаружил, что SpringBoard действительно ненавидит, когда вы перехватываете его sendEvent. Он вылетает после небольшого запуска, и вы встряхиваете устройство. Я проверяю только события руки/мыши. Странный - person Yuriy Gettya; 01.06.2012
comment
Я приму это как ответ, так как он единственный по теме :) - person Yuriy Gettya; 02.06.2012
comment
Да, конечно, вылетает. GSEventRecord, который вы получаете при встряхивании, меньше, чем тот, который вы получаете в любой другой ситуации. Поэтому при доступе к объектам pathInfo ваше приложение аварийно завершает работу. - person Jorge Aguirre; 27.06.2012
comment
Но как можно имитировать мультисенсорное событие? - person Suge; 08.07.2013
comment
Этот вопрос касается не моделирования событий касания, а их интерпретации. - person Jorge Aguirre; 27.07.2013
comment
@GeorgeAguirre, не могли бы вы помочь проверить эту проблему с имитацией мультитач, большое спасибо. gsevent" title="как имитировать мультитач с помощью gsevent"> stackoverflow.com/questions/17907811/ - person Suge; 29.07.2013