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) {
// sender.selected=NO;
// [image stopAnimating];
// }else{
// sender.selected = YES;
// }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • pragma mark 动图:前提是自己得提前准备好一组图片,然后拖进工程 // 1、 创建一个照片视图UII...
    向日葵_wwx阅读 4,427评论 1 3
  • 一:OC基础语法1 //整型 NSInteger a =10; //NSLog是OC里面的打印函数 NSLog(@...
    library阅读 3,110评论 0 3
  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 7,359评论 1 14
  • //设置尺寸为屏幕尺寸的时候self.window = [[UIWindow alloc] initWithFra...
    LuckTime阅读 4,316评论 0 0
  • 漫漫人生路上,总有那么些时刻,你大脑的容量被一些事物也好情绪也罢通通占据,卡的连呼吸都变得困难,这时候别光顾着抱怨...
    摩登小象阅读 4,348评论 1 1

友情链接更多精彩内容