Отслеживание координат касания на iPhone - PullRequest
0 голосов
/ 03 марта 2012

Я хочу переместить UIImageView , коснувшись местоположения на экране.Как я могу получить X, Y координаты постукивающего пальца?

Ответы [ 2 ]

0 голосов
/ 03 марта 2012

Вы можете использовать любой из следующих методов

Если вы хотите, чтобы оно было перемещено на событие «трогательное начало», используйте это

- (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event{}

Если вы хотите, чтобы оно было перемещено на событие «завершено касание»используйте это

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{}

и поместите код, вставленный ниже

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
        CGPoint pt = [[touches anyObject] locationInView:self.view];
        imageView.center = CGPointMake(pt.x,pt.y);
}

В поле «Код выше» точка p содержит координаты x и y вашего местоположения, к которому вы прикоснулись.Кроме того, вы также можете использовать анимацию для более плавных движений.

0 голосов
/ 03 марта 2012

в viewDidLoad.m, это может сделать работу:

/* Create the Tap Gesture Recognizer */
self.tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTaps:)];

/* The number of fingers that must be on the screen */
self.tapGestureRecognizer.numberOfTouchesRequired = 1;
/* The total number of taps to be performed before the gesture is recognized */
self.tapGestureRecognizer.numberOfTapsRequired = 1;

/* Add this gesture recognizer to our view */
[self.view addGestureRecognizer:self.tapGestureRecognizer];

А потом в handleTaps: метод

- (void) handleTaps:(UITapGestureRecognizer*)paramSender{
    NSUInteger touchCounter = 0;
    for (touchCounter = 0; touchCounter < paramSender.numberOfTouchesRequired; touchCounter++)
    {
        CGPoint touchPoint = [paramSender locationOfTouch:touchCounter inView:paramSender.view];
        NSLog(@"Touch #%lu: %@", (unsigned long)touchCounter+1, NSStringFromCGPoint(touchPoint));
    }
}

Конечно, вы реализуете метод handleTaps с учетом ваших потребностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...