Я использую UIPanGestureRecogniser
для реализации перетаскивания. Когда начинается перетаскивание, мне нужно определить объект, который перетаскивается. Однако объекты относительно небольшие. И если пользователь не нажмет объект прямо в центре объекта, он не будет перетаскиваться.
Проблема в том, что при первом вызове обработчика жестов с состоянием UIGestureRecognizerStateBegan
палец уже переместился на несколько пикселей, и поэтому [UIPanGestureRecognizer locationInView:]
возвращает ту точку, которая не находится там, где на самом деле начался жест. Это имеет смысл, так как он может распознать кастрюлю только после нескольких пикселей движения. Однако мне нужно абсолютное начало жеста, а не позиция после того, как жест был впервые распознан.
Я думаю, что, возможно, мне также нужно реализовать распознаватель жестов касания, исключительно для захвата первого касания. Но это похоже на взлом для того, что не является необычным требованием. Нет ли другого способа получить это первое касание из распознавателя жестов панорамирования?
touchesBegan:
иtouchesMoved:
путем создания подклассаUIView
? - person sooper   schedule 05.07.2014