国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

UIImageView自帶動畫+N張圖片實現很炫的動畫

2019-11-14 18:46:14
字體:
來源:轉載
供稿:網友

gitHub上又看到個很炫的動畫:https://github.com/MartinRGB/GiftCard-iOS
 
看了看他的代碼,發現核心動畫(就是把按鈕包裝成一個禮物盒)其實很簡單,就是把一個動畫的一幀一幀都截取下來放到一個數組里面,然后利用了UIImageView自帶的可以播放一個image的數組的方法。
簡化過的代碼大概是這樣子:
 
- (void)viewDidLoad {
    [super viewDidLoad];
 
    NSMutableArray *array = [NSMutableArray array];
    for (int i = 0; i < 40; i++) {
        UIImage *image = [UIImage imageNamed:[NSString stringWithFormat: @"gifbutton000%02d",i]];
        [array addObject:image];
    }
    self.giftImageArray = array;
    self.giftImageView.animationDuration = 1.0;
    self.giftImageView.animationImages = self.giftImageArray;
    self.giftImageView.animationRepeatCount = 1;
    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleGiftImageViewTapped:)];
    [self.giftImageView addGestureRecognizer:tapGesture];
    self.giftImageView.userInteractionEnabled = YES;
    self.giftImageView.image = [self.giftImageArray firstObject];
   
}
 
- (void)handleGiftImageViewTapped:(UITapGestureRecognizer *)sender {
    [self.giftImageView startAnimating];
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        UIImage *image =  [self.giftImageArray lastObject];
        self.giftImageView.image = image;
    });
}
效果如圖:
 
 
方法雖然簡單,但是效果很贊,不知道有沒有更好的實現方式,但這起碼是一種實現方式,值得記錄一下!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 故城县| 融水| 洮南市| 台东县| 临江市| 莱芜市| 高青县| 通江县| 松江区| 伊通| 樟树市| 县级市| 彭山县| 都江堰市| 右玉县| 那坡县| 绥芬河市| 西华县| 盐山县| 柳江县| 通化县| 永吉县| 鹿邑县| 泽库县| 靖西县| 读书| 柘荣县| 孟津县| 荥阳市| 井冈山市| 陕西省| 东兰县| 颍上县| 静安区| 桐梓县| 巴林右旗| 宁乡县| 雅江县| 油尖旺区| 武宁县| 绥中县|