使用NSTimer和CGAffineTransformMakeRotation实现旋转动画
首先定义需要用到的变量
float angle;
NSTimer* timer;
#pragma mark ------------------->旋转图片<------------------- - (void)_doRotateImage{ //演员初始化 UIImageView* ivImage = [[UIImageView alloc] init]; UIImage* img = [UIImage imageNamed:@"image_loading"]; ivImage.image=img; ivImage.frame=CGRectMake(100, 200, img.size.width, img.size.height); ivImage.center=self.view.center; ivImage.userInteractionEnabled=YES; ivImage.tag=9999; [self.view addSubview:ivImage]; //初始化定时器NSTimer timer =[NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(_doOnTimer) userInfo:nil repeats:YES]; //添加一个按钮用来暂停、开始定时器 UIButton* btnTimer = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [btnTimer setTitle:@"暂停" forState:UIControlStateNormal]; [btnTimer setTitle:@"开启" forState:UIControlStateSelected]; [btnTimer addTarget:self action:@selector(_doPauseOrStartTimer:) forControlEvents:UIControlEventTouchUpInside]; btnTimer.frame=CGRectMake(100, 340, 100, 40); [self.view addSubview:btnTimer]; } #pragma mark 定时器的触发事件 -(void) _doOnTimer{ UIView* view = [self.view.window viewWithTag:9999]; angle = angle + 0.05;//angle角度 double angle; if (angle > 6.28) {//大于 M_PI*2(360度) 角度再次从0开始 angle = 0; } CGAffineTransform transform=CGAffineTransformMakeRotation(angle); view.transform = transform; } -(void) _doPauseOrStartTimer:(UIButton*) sender{ if (sender.selected) { [timer setFireDate:[NSDate distantPast]]; }else{ [timer setFireDate:[NSDate distantFuture]]; } sender.selected=!sender.selected; }
效果图如下:
相关推荐
ios计时器NSTimer的使用 倒计时10秒,计时器 /* NSTimer scheduledTimerWithTimeInterval
简单的nstimer时间计算器,上面有暂停,清零等简单的功能,免费下载
是一个关于NSTimer类的小计时器,主要是为了对比两个类方法创建定时器的区别,以及它们会受到滚动事件的影响,该如何解决这个问题
详细讲解CADisplayLink和NSTimer的区别。
详细介绍CADisplayLink,CADisplayLink和NSTimer的区别。
详细的NSTimer类的使用 文档说明 是开发的很好的帮助文档
NSTimer-Blocks, 在NSTimer上提供块功能,简单分类 自述文件NSTimer上非常简单的类别,它可以使用块。工作原理我认为如果你使用的是一个块,你可以能不需要将任何用户指定的对象传递到计时器。 你只要从街区里得到你...
ios NSTimer应用demo 。iphone6.1 测试通过。具体demo截图和说明在:http://blog.csdn.net/donny_zhang
NStimer 定时器 iOS 倒计时 objective-c
模仿腾讯新闻图片频道的图片浏览的幻灯片效果.
资源代码简洁,使用3个UIImageView实现了重用机制,既实现了NSTimer自动展示效果,并且在手动拖动时会停止NSTimer,拖动结束便会恢复, 也实现了UIPageControll 在滑动到页面一半时就能够实时响应。总共花时3天才写完...
定时器
关于定时器在tableview上的复用问题
在制作IOS项目中,我们经常要用到倒计时功能,今天就分享下使用nstimer实现的倒计时功能的代码,希望对大家能有所帮助
MKImpulse是一个用来代替系统NSTimer的高精度脉冲器 系统的NSTimer是添加到Runloop中的, 在系统繁忙时会造成偏差, 时间越长, 偏差越大 而MKImpulse是基于GCD编写的脉冲器, 精度由CPU时钟进行计算, 误差基本可以...
IOS 中NSTimer定时器的使用 NSTimery 定时器,主要用于进行定时执行指定方法,常用场景如:获取验证码的按钮倒计时;图片轮播定时。 1 使用注意事项: 1.1 倒计时时间间隔(时间单位是秒) 1.2 指定的执行方法 1.3...
TryEZTimer 尝试使用EZ-Timer类别以避免在使用NSTimer时出现保留问题参考:
前言 最近工作比较忙,但是还是...当然,本篇博客共涉及到了UITableView中使用定时器的四种实现方式,当然应该也还有其他实现方式,只不过目前我没有涉及到。欢迎在评论区提供其他实现方式,我会及时的整合到目前的Dem