美文网首页程序员
UIImage和UIImageView,动态图

UIImage和UIImageView,动态图

作者: 每日总结 | 来源:发表于2016-03-12 15:47 被阅读360次

    UIImage继承于NSObject 不是一个控件,它是用来加载图片的,而我们想要让图片显示出来我们需要用某些控件将其展示出来;

    //加载本地(本台电脑上)的图片 根据本地路径的方式
    //如果你的工程换了一台电脑 或者你的图片换了路径 都会导致加载失败
    UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageWithContentsOfFile:@"/User/XXX/Desktop/R1.tiff"]];
    imageView.frame = CGRectMake(100,100,100,100);
    [self.window addSubview:imageView];
    [imageView release];
    
    //加载工程中的图片
    UIImageView *imageView2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"R3.tiff"]];
    imageView2.frame = CGRectMake(100,100,100,100);
    [self.window addSubview:imageView2];
    [imageView2 release];
    
    
    
    UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:CGRectMake(100,200,300,400)];
    imageView3.image = [UIImage imageNamed:@"R2.tiff"];
    [self.window addSubview:imageView3];
    [imageView3 release];
    

    所谓的动图其实就是我们看到的GIF图,而GIF图是由N张静态图组成的,我们要通过ImageView.animationImages这个属性让他动起来,相当于把所有的静态图添加到这个数组中;

    NSMutableArray *imageArr = [NSMutableArray arrayWithCapacity:0];
    for (int i = 1; i < 7; i++) {
        [imageArr addObject:[UIImage imageNamed:[NSString stringWithFormat:@"R%d.tiff",i]]];
    }
    //将已经装载好静态图的数组赋值给imageView自带的动画数组
    imageView3.animationImages = imageArr;
    //设置动画时间 = 单张图片时间*图片张数
    imageView3.animationDuration = 0.01*imageArr.count;
    // 设置动画执行次数 默认是无数次
    imageView3.animationRepeatCount = 2;
    //开始动画 没有这行代码 不会有动画效果
    [imageView3 startAnimating];
    
    //停止动画
    [imageView3 stopAnimating];
    //是否在进行动画
    BOOL  a = [imageView3 isAnimating];
    

    相关文章

      网友评论

        本文标题:UIImage和UIImageView,动态图

        本文链接:https://www.haomeiwen.com/subject/bpktlttx.html