Ios UIImageView以定位点为右端的旋转

Ios UIImageView以定位点为右端的旋转,ios,uiimageview,rotation,uiviewanimation,Ios,Uiimageview,Rotation,Uiviewanimation,在我的应用程序中,我需要顺时针旋转图像0-90度,反之亦然 self.needleImageView = [[UIImageView alloc]initWithFrame:CGRectMake(300,155, 15,150)]; self.needleImageView.layer.anchorPoint = CGPointMake(0.5,1.0);// Shift the Needle center point to one of the end points of the needl

在我的应用程序中,我需要顺时针旋转图像0-90度,反之亦然

self.needleImageView  = [[UIImageView alloc]initWithFrame:CGRectMake(300,155, 15,150)];
self.needleImageView.layer.anchorPoint = CGPointMake(0.5,1.0);// Shift the Needle center point to one of the end points of the needle image.
self.needleImageView.backgroundColor = [UIColor clearColor];
self.needleImageView.image = [UIImage imageNamed:@"Arrow.png"];
[self.view addSubview:self.needleImageView];
使用此代码,图像是垂直方向的。要获得水平方向的图像,我将应用CGAffineTransformMakeRotation(-M_PI/2)

在此之后,我使用以下动画代码旋转图像 //要使用自动翻转从0-90旋转,在完成动画后将图像保持在原始位置,我已经完成了代码编写

  [UIView animateWithDuration: 0.8f
                      delay: 0.0f
                    options: (UIViewAnimationOptionAutoreverse)
                 animations: ^{
                     self.needleImageView.transform = CGAffineTransformRotate(self.needleImageView.transform,M_PI/2);
                 }
                 completion: ^(BOOL finished) {
                     self.needleImageView.transform = CGAffineTransformRotate(self.needleImageView.transform,-M_PI/2);
                 }];
当我运行此代码时,图像处于水平位置,一旦我单击动画按钮应用动画,图像旋转开始于270度-0度,反之亦然。动画图像定位于270度(垂直)后

我希望图像仅在0-90度之间旋转。 请运行此代码,以便您能够清楚地理解我的问题 需要帮忙吗


提前感谢

这应该可以解决问题:

 self.needleImageView1.transform = CGAffineTransformIdentity
 //now animation

注意:如果你有
UIViewAnimationOptionAutoreverse
那么
完成块没有用

Hi现在我保留动画self.needImageView1.transform=cGrafineTransformity之前的代码行,并将完成设置为NULL。现在图像最初定位为180度,动画从90度开始到180度,然后在动画图像定位到180度后从180度开始到90度。它无法正常工作。请共享您的邮件id,以便您可以查看我的代码。
 self.needleImageView1.transform = CGAffineTransformIdentity
 //now animation