美文网首页iOS高阶UI相关iOS学习笔记iOS开发技术分享
[iOS] Gif 图片的显示 以及文字的特效

[iOS] Gif 图片的显示 以及文字的特效

作者: 一杯冰可乐 | 来源:发表于2016-04-09 10:26 被阅读1079次

    Gif 图片的显示: 

    首先, 你需要一个开源三方, 也就是我们所熟悉的 SDWebImg

    我们可以看到, 有一对文件是关于 Gif 的, 没错, 我们需要的就是这个.

    在你们需要添加动态图片的地方 引用这个头文件.

    #import <UIImage+GIF.h>

    接下来我们需要一个 imageview 来放图片

    @property (nonatomic, strong) UIImageView *loadingImageView;

    下面就是动态图的解析方法了, 这个方法可以直接读取 gif 格式图片的每一个动画帧, 别忘了调用这个方法,这可不是自动执行的系统方法.

    - (void)initLoadingImageView{

    NSString  *name = @"43c353f13e852c1455ce2cd04fa19156.gif";

    NSString  *filePath = [[NSBundle bundleWithPath:[[NSBundle mainBundle] bundlePath]] pathForResource:name ofType:nil];

    NSData  *imageData = [NSData dataWithContentsOfFile:filePath];

    if (!self.loadingImageView) {

    self.loadingImageView = [[UIImageView alloc]init];

    }

    //    imgView.image = [UIImage animatedImageWithAnimatedGIFData:imageData];

    self.loadingImageView.backgroundColor = [UIColor clearColor];

    self.loadingImageView.image = [UIImage sd_animatedGIFWithData:imageData];

    self.loadingImageView.frame = CGRectMake(80, 80, 100, 80);

    self.loadingImageView.center = CGPointMake(self.view.center.x, self.view.frame.size.height / 3 - 60);

    [self.img addSubview:self.loadingImageView];

    [self.img bringSubviewToFront:self.loadingImageView];

    }

    文字的特效: 

    效果如下:

    关于这个, 有个开源小 demo, 叫 Twinkle.

    可以直接把里面的 src 文件拖进你的工程中, 但是 demo 中是一个 button 点击后才显示动画, 并且只显示一次,在这里我 安利给大家一个让 label 文字显示这个效果并且无限播放.  hoho~

    还是把 src 文件拖进你的工程, 然后引用头文件:

    #import "UIView+Twinkle.h"

    创建一个 label 属性来设置文字

    @property (nonatomic, strong)UILabel *labelFlash;

    别忘了给你的背景设置一个颜色, 不然 bulingbuling 的效果看不出来

    然后就是设置你 label 的样式,位置和大小了.

    self.labelFlash.text = @"JuJu";

    self.labelFlash.font = [UIFont fontWithName:@"AvenirNext-Regular" size:32];

    self.labelFlash.textColor = [UIColor colorWithRed:0.449 green:0.315 blue:1.000 alpha:1.000];

    self.labelFlash.center = CGPointMake(self.view.center.x, self.view.center.y);

    self.labelFlash.textAlignment = NSTextAlignmentCenter;

    [self.view addSubview:self.labelFlash];

    在上方代码最后调用一下动画效果就 ok 了.

    [self.labelFlash twinkle];

    到此, 你的 label 就可以看到效果了,虽然只是一遍.  要是没显示出来, 那你就是没放图片的原因,

    上面就是 bulingbuling 的闪光图, 因为是白色, 拖到桌面就能看见了.

    你也可以放一个小樱花,小树叶之类的图片, 但是名字要叫 TwinkleImage, 不然你就要改源码中的 imageName.

    接下来就是让效果无限循环了, 首先先打开 TwinkleLayer+Anim.m 文件, 可以看见里面有三个属性和几个方法, 然后找到 fadeAnimation.repeatCount = 2 这句代码.

    把 2 改成 MAXFLOAT 就好了. 

    运行试试吧

    相关文章

      网友评论

        本文标题:[iOS] Gif 图片的显示 以及文字的特效

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