【发布时间】:2014-08-12 02:45:49
【问题描述】:
我正在做一些实验来学习 iOS 中的手势和动画。创建类似 Tinder 的界面就是其中之一。我正在关注本指南:http://guti.in/articles/creating-tinder-like-animations/
我了解图像位置的变化,但不了解旋转。我想我的问题是不理解 CGAfflineTransform。特别是以下代码:
CGFloat rotationStrength = MIN(xDistance / 320, 1);
CGFloat rotationAngle = (CGFloat) (2 * M_PI * rotationStrength / 16);
CGFloat scaleStrength = 1 - fabsf(rotationStrength) / 4;
CGFloat scale = MAX(scaleStrength, 0.93);
CGAffineTransform transform = CGAffineTransformMakeRotation(rotationAngle);
CGAffineTransform scaleTransform = CGAffineTransformScale(transform, scale, scale);
self.draggableView.transform = scaleTransform;
这些值和计算来自哪里,例如:320、1-fabs(strength) / 4、.93 等?他们对最终的轮换有何贡献?
另一方面,Tinder 似乎结合了滑动和平移。他们是向图像添加滑动手势,还是仅考虑平移的速度?
【问题讨论】:
标签: ios objective-c animation uigesturerecognizer uipangesturerecognizer