Как получить координаты предмета во время его анимации? - PullRequest
2 голосов
/ 11 августа 2011

Я могу анимировать что-то по экрану примерно так:

aView.frame = CGRectMake(100,100,50,50); 
[UIView animateWithDuration:25.0 delay:0.0 options:UIViewAnimationCurveLinear animations:
     ^{ 
         aView.frame = CGRectMake(200,100,50,50);         
     } 
         completion:^(BOOL finished)
     {
         aView.hidden = YES; 
     }
 ];

.. но как мне определить положение элемента во время его анимации? Если я положу кнопку на экран и использую это действие

-(IBAction)buttonTapped:(id)sender
{
   NSLog(@"x pos:%f", aframe.origin.x)l
}

тогда все, что я получаю от этого, -

x pos:200.00

.. которая является конечной позицией элемента, но не текущей. Как мне получить ток?

1 Ответ

1 голос
/ 11 августа 2011

Посмотрите на CALayer 's presentationLayer свойство. Он содержит текущие значения анимируемого слоя.

Вам придется импортировать QuartzCore framework.

EDIT

В частности:

#import <QuartzCore/CALayer.h>
// ...
CGPoint inMotionPosition = myView.layer.presentationLayer.position;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...