Когда я использую:
<code>CALayer *hitLayer =
[[self.view.window.layer presentationLayer] hitTest:pointOfTouch];
Затем я исследую слой, чтобы обнаружить, что все свойства, которые анимируются в данный момент, установлены в их конечные состояния.
Слой, на котором я тестирую, - это CALayer UIImageView в iOS 4.3.
У меня также есть IBOutlet для этого представления UIImage. Итак, я сделал такой же тест, как это:
<code> CALayer *l = [self.topLeft.layer presentationLayer];
NSLog(@"presentation layer frame for eloise is : %@", [self cgRectDescription:l.frame]);
NSLog(@"and xPosition = %.2f, yPosition = %.2f & zPosition = %.2f", l.position.x, l.position.y, l.zPosition);
И я все еще получаю тот же результат.
Я проверяю это в (void) касаниях Beg: withEvent: пока изображение движется.
Вот анимация, которую я использую
<code>[UIImageView animateWithDuration:aDuration
delay:0
options:UIViewAnimationOptionCurveEaseIn | UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionBeginFromCurrentState
animations:^(void) {
aIv.center = imageStartingPoint;
aIv.layer.zPosition = 0;
imageStartingPoint = CGPointZero;
centerImage = nil;</p>
CABasicAnimation *ba = [CABasicAnimation animationWithKeyPath:@"shadowOffset"];
ba.fromValue = [NSValue valueWithCGSize:aIv.layer.shadowOffset];
ba.toValue = [NSValue valueWithCGSize:CGSizeMake(0, 0)];
aIv.layer.shadowOffset = CGSizeMake(0, 0);
ba.duration = aDuration;
ba.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
[aIv.layer addAnimation:ba forKey:@"shadowOffset"];
ba = [CABasicAnimation animationWithKeyPath:@"shadowRadius"];
ba.fromValue = [NSNumber numberWithFloat:aIv.layer.shadowRadius];
ba.toValue = [NSNumber numberWithFloat:0];
aIv.layer.shadowRadius = 0;
ba.duration = aDuration;
ba.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
[aIv.layer addAnimation:ba forKey:@"shadowRadius"];
}
completion:NULL];
Возможно, это немного простая вещь, но я не в курсе, спасибо,