Animation

Animation

UIImageView

NSMutableArray *allImages = [NSMutableArray array];
    for (NSInteger i = 0; i < 32; i++) {
        //拼接圖片的名稱
        NSString *fileName = [NSString stringWithFormat:@"yinJiaoDaWang%02ld",i+1];
        //創(chuàng)建圖片對(duì)象
        UIImage *image = [UIImage imageNamed:fileName];
        //將創(chuàng)建好的圖片 添加到數(shù)組中
        [allImages addObject:image];
    }
    //設(shè)置 動(dòng)畫所需圖片 (需要的是一個(gè)圖片數(shù)組)
    self.npcImageView.animationImages = allImages;
    //設(shè)置動(dòng)畫的時(shí)長(zhǎng)  (一次多長(zhǎng)時(shí)間)
    self.npcImageView.animationDuration = 1 / 10.0 * 32;
    //設(shè)置動(dòng)畫運(yùn)行次數(shù)   值為0 是無限運(yùn)行
    self.npcImageView.animationRepeatCount = 0;
    //運(yùn)行動(dòng)畫
    [self.npcImageView startAnimating];

    if (self.npcImageView.animationRepeatCount != 0) {
        //動(dòng)畫運(yùn)行完 要釋放動(dòng)畫數(shù)組
        //獲取動(dòng)畫總時(shí)間
        CGFloat afterDelay = self.npcImageView.animationDuration * self.npcImageView.animationRepeatCount;
        //等待 afterDelay 時(shí)間后 向 self.npcImageView 發(fā)送setAnimationImages 消息 并把 nil 做為參數(shù)傳給 setAnimationImages 方法
        [self.npcImageView performSelector:@selector(setAnimationImages:) withObject:nil afterDelay:afterDelay];
    }
  • 封裝
#define SPEED 1/15.0
//扔派動(dòng)畫
- (IBAction)pieButtonClick:(id)sender {
    [self runAnimationWithImageView:self.tomImageView imageFileName:@"pie_" imageCount:24 speed:SPEED];
}
-(void)runAnimationWithImageView:(UIImageView*)imageView imageFileName:(NSString*)imageFileName imageCount:(NSInteger)imageCount speed:(CGFloat)speed {
    //判斷imageView 是否正在運(yùn)行動(dòng)畫
    if (imageView.isAnimating) return;
    NSMutableArray *allImages = [NSMutableArray array];
    for (NSInteger i = 0; i < imageCount; i++) {
        //拼接圖片的名稱
        NSString *fileName = [NSString stringWithFormat:@"%@%02ld",imageFileName, i];
        //創(chuàng)建圖片對(duì)象
        UIImage *image = [UIImage imageNamed:fileName];
        //將創(chuàng)建好的圖片 添加到數(shù)組中
        [allImages addObject:image];
    }
    //設(shè)置 動(dòng)畫所需圖片 (需要的是一個(gè)圖片數(shù)組)
    imageView.animationImages = allImages;
    //設(shè)置動(dòng)畫的時(shí)長(zhǎng)  (一次多長(zhǎng)時(shí)間)
    imageView.animationDuration = speed * imageCount;
    //設(shè)置動(dòng)畫運(yùn)行次數(shù)   值為0 是無限運(yùn)行
    imageView.animationRepeatCount = 1;
    //運(yùn)行動(dòng)畫
    [imageView startAnimating];
}

UIView

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {

    [UIView animateWithDuration:2 animations:^{
        //設(shè)置動(dòng)畫的最終狀態(tài)
        self.imageView.alpha = 1;
        CGPoint center = self.imageView.center;
        center.y += 300;
        self.imageView.center = center;
    }];

    [UIView animateWithDuration:2 animations:^{
        self.imageView.alpha = 1;
    } completion:^(BOOL finished) {
        //動(dòng)畫執(zhí)行完 執(zhí)行 該代碼塊
        NSLog(@"動(dòng)畫執(zhí)行完");
    }];

    /*
     Duration 動(dòng)畫持續(xù)時(shí)間
     delay  等待時(shí)間
     options 動(dòng)畫選項(xiàng)  (動(dòng)畫勻速 變速 重復(fù))
     animations 動(dòng)畫結(jié)束后什么樣子 (最終狀態(tài))
     completion 動(dòng)畫結(jié)束后做什么
    */
     [UIView animateWithDuration:2 delay:3 options:UIViewAnimationOptionCurveEaseIn | UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse animations:^{
         CGPoint center = self.imageView.center;
         center.y += 300;
         self.imageView.center = center;
     } completion:nil];
}
  • UIView轉(zhuǎn)場(chǎng)動(dòng)畫
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    self.imageIndex++;
    if (self.imageIndex > 43) return;

    NSString *imageName = [NSString stringWithFormat:@"a%ld",self.imageIndex];

    //添加轉(zhuǎn)場(chǎng)動(dòng)畫
    [UIView transitionWithView:self.imageView duration:1 options:UIViewAnimationOptionTransitionCurlUp animations:^{
        self.imageView.image = [UIImage imageNamed:imageName];
    } completion:nil];

}

界面跳轉(zhuǎn)動(dòng)畫

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    MyViewController *myVC = [[MyViewController alloc]init];
    /*
    UIModalTransitionStyleCoverVertical
    UIModalTransitionStyleFlipHorizontal
    UIModalTransitionStyleCrossDissolve
    UIModalTransitionStylePartialCurl
     */
    //設(shè)置跳轉(zhuǎn)動(dòng)畫的類型
    myVC.modalTransitionStyle = UIModalTransitionStylePartialCurl;

    [self presentViewController:myVC animated:YES completion:nil];
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市昔驱,隨后出現(xiàn)的幾起案子经伙,更是在濱河造成了極大的恐慌,老刑警劉巖廓俭,帶你破解...
    沈念sama閱讀 211,561評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡俏站,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門痊土,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肄扎,“玉大人,你說我怎么就攤上這事施戴》磁ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 157,162評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵赞哗,是天一觀的道長(zhǎng)雷则。 經(jīng)常有香客問我,道長(zhǎng)肪笋,這世上最難降的妖魔是什么月劈? 我笑而不...
    開封第一講書人閱讀 56,470評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮藤乙,結(jié)果婚禮上猜揪,老公的妹妹穿的比我還像新娘。我一直安慰自己坛梁,他們只是感情好而姐,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著划咐,像睡著了一般拴念。 火紅的嫁衣襯著肌膚如雪钧萍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評(píng)論 1 290
  • 那天政鼠,我揣著相機(jī)與錄音风瘦,去河邊找鬼。 笑死公般,一個(gè)胖子當(dāng)著我的面吹牛万搔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播官帘,決...
    沈念sama閱讀 38,951評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼瞬雹,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了遏佣?” 一聲冷哼從身側(cè)響起挖炬,我...
    開封第一講書人閱讀 37,712評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎状婶,沒想到半個(gè)月后意敛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,166評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡膛虫,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評(píng)論 2 327
  • 正文 我和宋清朗相戀三年草姻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片稍刀。...
    茶點(diǎn)故事閱讀 38,643評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡撩独,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出账月,到底是詐尸還是另有隱情综膀,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評(píng)論 4 330
  • 正文 年R本政府宣布局齿,位于F島的核電站剧劝,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏抓歼。R本人自食惡果不足惜讥此,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谣妻。 院中可真熱鬧萄喳,春花似錦、人聲如沸蹋半。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至染突,卻和暖如春匪傍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背觉痛。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留茵休,地道東北人薪棒。 一個(gè)月前我還...
    沈念sama閱讀 46,351評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像榕莺,于是被迫代替她去往敵國(guó)和親俐芯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容