我正在尝试创建到UIView的CATransition。
我想将UIView向右移动,同时(并且总是在同一个点上)旋转它。
图像更好地解释了这一点。
我可以用CATransition移动它,也可以用CABasicAnimation旋转它,但我不知道如何一起做这些事情。
谢谢。

发布于 2011-05-24 13:24:10
-(空)scaleAndRotate:(UIImageView*)myView andAngle:(浮动)角度{
CGAffineTransform scaleTrans = CGAffineTransformMakeScale(1.5,1.5);
CGAffineTransform rotateTrans =CGAffineTransformMakeRotation(angle * M_PI / 180);
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
myView.transform = CGAffineTransformConcat(scaleTrans, rotateTrans);
[UIView commitAnimations];}
在上面的方法中:用你想要的替换...它会工作的,,,肯定的:)一切顺利
发布于 2011-05-05 00:26:58
您应该考虑制作图像的两个副本,旋转其中一个,并遮罩这两个副本,以便它们可以以L形相邻放置。
使用此技术,您将一次对图像A和T执行两次平移(移动蒙版和底层图像)。但是,请注意,旋转将不会是动画。您将立即将图像T置于旋转状态,并通过将其移动到遮罩下来显示它(同时对图像A执行相反的操作以隐藏它)。因此,您实际上并没有将平移和旋转组合到一个动画中,而是在原始图像(A)和旋转副本(T)上仅使用带有蒙版的平移。
您将需要遮罩一个的左侧和另一个的右侧。蒙版的形状应该有一个相反的45度角在两个,然后你可以把这些有角度的边缘在一起形成L。随着时间的推移,你只需在每个图像中移动蒙版,直到第一张图像完全消失,剩下的就是你的最终状态。
掩蔽部分是最难的部分。查看以下关于使用CoreGraphics屏蔽UIImage的答案:masking a UIImage
遮罩PNG基本上只是一个矩形,一边成45度角。你可以在你选择的图像编辑器(Photoshop,GIMP,橡子)中创建它。
注意:这种方法将在拐角处创建一个锐利的边缘。另一种方法是当像素从垂直向下运动移动到水平向右运动时,扭曲该角周围的像素。(我认为)这会涉及更多。
https://stackoverflow.com/questions/5886562
复制相似问题