在我的应用程序中,我需要在顺时针方向旋转 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);
self.needleImageView.transform=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 度之间旋转。请运行此代码,以便您可以清楚地理解我的问题任何帮助请...
提前致谢