У меня возникли проблемы с UIPanGestureRecognizer, поскольку он просто вызывает селектор, когда у меня есть движение пальца, я хочу, чтобы он продолжал называть селектор, даже мой палец стоит на том же месте.UIPanGestureRecognizer остановить вызов селектора
На экране есть четыре объекта: один сверху, один справа, один на левой стороне и один внизу. У меня есть объект в центре экрана (это тот, который я перемещаю с помощью panGesture). Когда этот объект касается других, я хочу, чтобы он дал мне журнал, он работает, когда он касается, но если я держу палец в том же месте, он останавливается, чтобы дать мне журналы, если я немного пошевелится, он снова начнет давать мне журналы.
В любом случае я могу продолжать звонить селектору даже пальцем в том же месте?
вот пример кода:
- (void)moveObject:(UIPanGestureRecognizer *)sender
{
CGPoint translation = [sender translationInView:self.limiteDirecional];
[sender setTranslation:CGPointMake(0, 0) inView:self.limiteDirecional];
CGPoint center = sender.view.center;
center.y += translation.y;
int yMin = 0;
int yMax = self.limiteDirecional.frame.size.height;
if (center.y < yMin || center.y > yMax)
return;
sender.view.center = center;
center.x += translation.x;
int xMin = self.limiteDirecional.frame.size.width;
int xMax = 0;
if (center.x > xMin || center.x < xMax)
return;
sender.view.center = center;
if (CGRectIntersectsRect(sender.view.frame,self.Top.frame)) {
NSLog(@"TOP");
}
if (CGRectIntersectsRect(sender.view.frame,self.Botton.frame)) {
NSLog(@"BOTTON");
}
if (CGRectIntersectsRect(sender.view.frame,self.Right.frame)) {
NSLog(@"RIGHT");
}
if (CGRectIntersectsRect(sender.view.frame,self.Left.frame)) {
NSLog(@" LEFT");
}
if (sender.state == UIGestureRecognizerStateEnded) {
sender.view.center = CGPointMake(self.view.frame.size.width/2, self.view.frame.size.height/2);
}
}
Этот распознаватель жеста сам по себе этого не сделает. Вы можете использовать таймеры или «CADisplayLink» или что-то в этом роде, но чтобы предлагать решения, полезно знать, какую проблему вы пытаетесь решить. Какую проблему вы пытаетесь решить, получая уведомление об изменениях прикосновений, когда нет изменений в прикосновениях? – Rob
Справа! это работает как джойстик, если вы перетаскиваете «MainObject» в контакт с «Sensors», он должен перемещать мой спрайт, но если я удерживаю «MainObject», даже если он касается «Sensor», он останавливается, чтобы переместить мой спрайт ! я должен подтолкнуть, чтобы не двигаться ... – rihurla