1 前言
今天我们来学习如何创建一个旋转仿射变换并使用 UIView 类的动画方法来执行旋转动作。
2 代码实例
ZYViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
UIImage *xcodeImage = [UIImage imageNamed:@"Xcode.png"];
self.xcodeImageView = [[UIImageView alloc] initWithImage:xcodeImage];
//设置图片的Frame
[self.xcodeImageView setFrame:CGRectMake(0.0f,0.0f, 100.0f, 100.0f)];
self.view.backgroundColor = [UIColor whiteColor];
[self.view addSubview:self.xcodeImageView];
}
- (void) viewDidAppear:(BOOL)paramAnimated{ [super viewDidAppear:paramAnimated];
self.xcodeImageView.center = self.view.center;
/* Begin the animation */
[UIView beginAnimations:@"clockwiseAnimation" context:NULL];
/* Make the animation 5 seconds long */
[UIView setAnimationDuration:5.0f];
[UIView setAnimationDelegate:self];
//停止动画时候调用clockwiseRotationStopped方法
[UIView setAnimationDidStopSelector:@selector(clockwiseRotationStopped:finished:context:)];
//顺时针旋转90度
self.xcodeImageView.transform = CGAffineTransformMakeRotation((90.0f * M_PI) / 180.0f);
/* Commit the animation */
[UIView commitAnimations];
}
- (void)clockwiseRotationStopped:(NSString *)paramAnimationID finished:(NSNumber *)paramFinished
context:(void *)paramContext{
[UIView beginAnimations:@"counterclockwiseAnimation"context:NULL];
/* 5 seconds long */
[UIView setAnimationDuration:5.0f];
/* 回到原始旋转 */
self.xcodeImageView.transform = CGAffineTransformIdentity;
[UIView commitAnimations];
}
运行结果
旋转90度
复原
3 结语
以上是所有内容,希望对大家有所帮助。

本文介绍如何使用UIView类创建旋转动画效果,包括初始化视图、设置图片帧、执行顺时针及逆时针旋转动画等步骤,并提供了完整的代码示例。
之动画视图的旋转&spm=1001.2101.3001.5002&articleId=8929999&d=1&t=3&u=1debbf65cd014979935a99e25c8fc9b9)
1423

被折叠的 条评论
为什么被折叠?



