Полагаю, вы говорите о CAAnimation
, а не об UIAnimation.
В Core Animation текущие значения анимированных свойств не отражаются в исходных объектах (видах, слоях), к которым они были применены. Вместо этого вам нужно взглянуть на слой presentationLayer
, чтобы получить текущее эффективное значение:
CGRect viewFrame = ((CALayer*)[animationView.layer presentationLayer]).frame;
CGRect objectFrame = ((CALayer*)[myObject.layer presentationLayer]).frame;
if (CGRectIntersectsRect(viewFrame, objectFrame)) {
NSLog(@"Collision occurred");
}