2015-05-22 4 views
1

У меня есть UIImageView, что я перемещаюсь по кругу с CGAffineTransformRotate. Прекрасно работает! Но когда пользователь нажимает стоповое дно, я хотел бы получить фактическое положение x-/y-UIImageView. До сих пор я всегда получал исходные значения x// y с момента создания UIImageView.Начало кадра кадра UIImageView после применения CAKeyframeAnimation

Есть ли способ получить фактическое положение, когда пользователь остановил поворот?

ответ

0

Я нашел решение и поделиться им в случае, если кто-то работает подобный случай:

От UIBezierPath я использую информацию, ограничивающей и это даст мне место, где UIImageView остановился. Здесь код:

UIBezierPath *path = [[UIBezierPath alloc] init]; 
[path addArcWithCenter:CGPointMake(iMiddleX, iMiddleY) radius:flR startAngle:degreesToRadians(flDegrees-0.01) endAngle:degreesToRadians(flDegrees) clockwise:YES]; 

CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"]; 
pathAnimation.calculationMode = kCAAnimationPaced; 
pathAnimation.fillMode = kCAFillModeForwards; 
pathAnimation.removedOnCompletion = NO; 
pathAnimation.repeatCount = 1; 
pathAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionDefault]; 
pathAnimation.duration = 1.0; 

pathAnimation.path = path.CGPath; 

NSInteger iX = path.bounds.origin.x; 
NSInteger iY = path.bounds.origin.y; 
Смежные вопросы