如何制作一个旋转UIView工作多次的方法

时间:2013-05-06 16:23:14

标签: iphone ios objective-c animation uiview

我有一个视图,当用户向上滑动时从屏幕底部向上滑动,当发生这种情况时,应该旋转一个小箭头,使其现在指向下方。以类似的方式,当视图滑动到屏幕的底部时,箭头应该再次旋转,使其指向上方。理想情况下,每次视图滑入或滑出以将箭头旋转180度时,我都想调用相同的方法。现在我正在使用:

[UIView animateWithDuration:.5 animations:^{
    viewToBeRotated.transform = CGAffineTransformMakeRotation(M_PI);
}];

这在第一次工作正常,但是在进一步的方法调用上没有做任何事情,关于如何正确执行此操作的任何指针?

1 个答案:

答案 0 :(得分:3)

在视图上设置变换时,可以删除上一个变换。 要同时将多个变换应用于一个视图,您必须“添加”它们。每个CGAffineTransformMake {Rotation / Scale / etc}都有一个等价物,允许你将变换“添加”到另一个变换。

要解决您的问题,您可以使用以下内容:

self.iv.transform = CGAffineTransformRotate(self.iv.transform, M_PI);