iOS动图流程

pragma mark 动图:前提是自己得提前准备好一组图片,然后拖进工程

self.window.rootViewController = [[UIViewController alloc]init];

// 1、 创建一个照片视图
UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 200, 200)];
// 2、将照片的位置放在屏幕中间
imageView.center = self.window.center;
// 3、将所有的图片放入数组中
NSMutableArray *imageArray = [NSMutableArray array];
for (int i = 1; i <= 10; i++) {
UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.tiff",i]];
// 4、将图片添加进数组
[imageArray addObject:image];
}
// 5、将一组图片赋给imageView
imageView.animationImages = imageArray;
// 6、设置动画时长,默认为秒
imageView.animationDuration = 0.5;
// 7、设置动画重复次数
imageView.animationRepeatCount = 6;

// 8、开始动画
// [imageView startAnimating];//这块如果注释了得话,动画就不再显示,正常情况下在这块就直接开始动图了,如果要关联按钮方法的话,就在这块直接设置一张占位照片就行了,然后在下面点击按钮回调方法来实现动画的开启或关闭。
// 9、动画未开启时,设置一张占位照片
imageView.image = [UIImage imageNamed:@"1.png"];

// 9、为imageView设置一个tag值,这样我们就可以在按钮的回调方法中设置它
imageView.tag = 1000;

// 显示 imageView
[self.window addSubview:imageView];

// 创建按钮
UIButton *imageBtn = [UIButton buttonWithType:UIButtonTypeSystem];
imageBtn.frame = CGRectMake(10, 10, 100, 100);
[imageBtn setTitle:@"动图" forState:UIControlStateNormal];
[imageBtn addTarget:self action:@selector(dongtu:) forControlEvents:UIControlEventTouchUpInside];
[self.window addSubview:imageBtn];

return YES;

}
//按钮的回调方法,

  • (void)dongtu:(UIButton *)sender{
    // 1、得到上面的相框
    UIImageView *image = (UIImageView *)[self.window viewWithTag:1000];
    // 2、判断动画是否开启
    BOOL isAni = image.isAnimating;
    // 3、 如果动画已经开启
    if (isAni == YES) {
    // 4、就停止动画
    [image stopAnimating];
    }else{//如果动画已经停止
    // 5、就开启动画
    [image startAnimating];

}
// selected是指选定状态
// [image startAnimating];动图开始
// if (sender.selected==YES) {如果动图已经开始,先将他置为NO,
// sender.selected=NO;
// [image stopAnimating];就是停止动图,
// }else{如果本身就是停止的,就将它开启
// sender.selected = YES;
// }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • pragma mark 动图:前提是自己得提前准备好一组图片,然后拖进工程 // 1、 创建一个照片视图UII...
    向日葵_wwx阅读 1,415评论 0 0
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,572评论 6 30
  • 1.自定义控件 a.继承某个控件 b.重写initWithFrame方法可以设置一些它的属性 c.在layouts...
    圍繞的城阅读 3,469评论 2 4
  • { 11、核心动画 需要签协议,但是系统帮签好 一、CABasicAnimation 1、创建基础动画对象 CAB...
    CYC666阅读 1,589评论 2 4
  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 2,546评论 1 14