Ios 将UIImageView保留回原点位置
我现在正在为Ios 将UIImageView保留回原点位置,ios,objective-c,animation,uiimageview,rotation,Ios,Objective C,Animation,Uiimageview,Rotation,我现在正在为iOS设备实现一个应用程序,因此在目标C中,我问如何在旋转后将UIImageView保持在原点位置 例如,我使用我的UIImageView如下: CGAffineTransform initialPosition = CGAffineTransformMakeRotation(0); CGAffineTransform finalPosition = CGAffineTransformMakeRotation(M_PI/2); [UIView beginAnimations: @"R
iOS设备
实现一个应用程序
,因此在目标C
中,我问如何在旋转后将UIImageView
保持在原点位置
例如,我使用我的UIImageView
如下:
CGAffineTransform initialPosition = CGAffineTransformMakeRotation(0);
CGAffineTransform finalPosition = CGAffineTransformMakeRotation(M_PI/2);
[UIView beginAnimations: @"Rotate animation" context: NULL];
MySuperUIImageView.transform = initialPosition;
[UIView setAnimationDuration:1.0];
[UIView setAnimationRepeatAutoreverses:NO];
[UIView setAnimationRepeatCount:1];
[UIView setAnimationDelegate:self];
MySuperUIImageView.transform = finalPosition;
[UIView commitAnimations];
但在那之后,我用以下方法让它消失了一段时间:
MySuperUIImageView.alpha = 0.0f;
当我再次使用它时,我希望它处于第一个原始位置,没有旋转。这容易吗
提前谢谢 是的。非常容易:
MySuperUIImageView.transform = CGAffineTransformIdentity;
事实上,有。由于将仿射变换应用于视图,因此可以通过设置应用单位变换矩阵的视图变换来重置应用于视图的所有变换: 注意:在Objective C中,约定是以大写字母开头类名,以小写字母开头实例 从iOS4开始,苹果建议使用基于块的UIView动画。下面是一个我认为您正在尝试使用更新代码的示例
CGAffineTransform finalPosition = CGAffineTransformMakeRotation(M_PI/2);
[UIView animateWithDuration:1.0 delay:0.0 options:kNilOptions animations:^{
[mySuperUIImageView setTransform:finalPosition];
} completion:^(BOOL finished) {
[mySuperUIImageView setTransform:CGAffineTransformIdentity];
}];
谢谢你的回答。另一个可能短一些,但谢谢=)
[mySuperUIImageView setTransform:CGAffineTransformIdentity];
CGAffineTransform finalPosition = CGAffineTransformMakeRotation(M_PI/2);
[UIView animateWithDuration:1.0 delay:0.0 options:kNilOptions animations:^{
[mySuperUIImageView setTransform:finalPosition];
} completion:^(BOOL finished) {
[mySuperUIImageView setTransform:CGAffineTransformIdentity];
}];