ios 移除動畫

在移除動畫之前, 首先得在 layer 上添加兩個動畫
示例代碼:

CABasicAnimation *animation = [CABasicAnimation animation];
animation.keyPath = @"transform.rotation";
animation.duration = 2.0;
animation.byValue = @(M_PI * 2);
animation.delegate = self;

animation.removedOnCompletion = NO;
animation.fillMode = kCAFillModeForwards;
[self.layer addAnimation:animation forKey:@"rotateAnimation"];

CABasicAnimation *animation2 = [CABasicAnimation animation];
animation2.keyPath = @"transform.scale";
animation2.duration = 2.0;
animation2.toValue = @2.0;
animation2.delegate = self;

animation2.removedOnCompletion = NO;
animation2.fillMode = kCAFillModeForwards;
[self.layer addAnimation:animation2 forKey:@"scale"];

添加兩個按鈕來控制動畫的 開始 和 移除 操作, 代碼(略)

點擊開始, 執(zhí)行上面的代碼

點擊結(jié)束:
1.移除制定動畫

[self.layer removeAnimationForKey:@"rotateAnimation"];

2.移除所有動畫

[self.layer removeAllAnimations];

查看動畫結(jié)束時的打印:

#pragma mark Animation delegate
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag{
    NSString *strAnimation = nil;
    if ([self.layer animationForKey:@"rotateAnimation"] == anim) {
        strAnimation = @"rotateAnimation";
    }
    if ([self.layer animationForKey:@"scale"] == anim){
        strAnimation = @"scaleAnimation";
    }
    NSLog(@"%@ stop finish: %@",strAnimation, flag? @"yes": @"no");
}

特別注意:
1.以上方法取值時 使用的是 animationForKey 而不是 valueForKey
2.一定要把 animation 的 removedOnCompletion 設(shè)置成 NO, 否則取不到值

執(zhí)行以上代碼后, 發(fā)現(xiàn)手動結(jié)束動畫時, 圖像會還原到原來的位置.
解決方法:
在移除動畫操作后添加以下代碼

// 動畫移除后 保持在當前位置
self.layer.transform = self.layer.presentationLayer.transform;

執(zhí)行之后效果如下:

效果圖.gif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末酒繁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子因俐,更是在濱河造成了極大的恐慌化借,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帜乞,死亡現(xiàn)場離奇詭異司抱,居然都是意外死亡,警方通過查閱死者的電腦和手機黎烈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門习柠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人照棋,你說我怎么就攤上這事资溃。” “怎么了烈炭?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵肉拓,是天一觀的道長。 經(jīng)常有香客問我梳庆,道長暖途,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任膏执,我火速辦了婚禮驻售,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘更米。我一直安慰自己欺栗,他們只是感情好,可當我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著迟几,像睡著了一般消请。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上类腮,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天臊泰,我揣著相機與錄音,去河邊找鬼蚜枢。 笑死缸逃,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的厂抽。 我是一名探鬼主播需频,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼筷凤!你這毒婦竟也來了昭殉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤藐守,失蹤者是張志新(化名)和其女友劉穎挪丢,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吗伤,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年硫眨,在試婚紗的時候發(fā)現(xiàn)自己被綠了足淆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡礁阁,死狀恐怖巧号,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情姥闭,我是刑警寧澤丹鸿,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站棚品,受9級特大地震影響靠欢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜铜跑,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一门怪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧锅纺,春花似錦掷空、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽护锤。三九已至,卻和暖如春酿傍,著一層夾襖步出監(jiān)牢的瞬間烙懦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工拧粪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留修陡,地道東北人。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓可霎,卻偏偏與公主長得像魄鸦,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子癣朗,可洞房花燭夜當晚...
    茶點故事閱讀 43,697評論 2 351

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

  • 在iOS實際開發(fā)中常用的動畫無非是以下四種:UIView動畫拾因,核心動畫,幀動畫旷余,自定義轉(zhuǎn)場動畫绢记。 1.UIView...
    請叫我周小帥閱讀 3,082評論 1 23
  • 在iOS中隨處都可以看到絢麗的動畫效果,實現(xiàn)這些動畫的過程并不復(fù)雜正卧,今天將帶大家一窺ios動畫全貌蠢熄。在這里你可以看...
    每天刷兩次牙閱讀 8,471評論 6 30
  • 一、簡介 Core Animation炉旷,中文翻譯為核心動畫签孔,它是一組非常強大的動畫處理API,使用它能做出非常炫麗...
    莦婼姑娘閱讀 956評論 0 4
  • Core Animation Core Animation窘行,中文翻譯為核心動畫饥追,它是一組非常強大的動畫處理API,...
    45b645c5912e閱讀 3,020評論 0 21
  • 在iOS中隨處都可以看到絢麗的動畫效果罐盔,實現(xiàn)這些動畫的過程并不復(fù)雜但绕,今天將帶大家一窺iOS動畫全貌。在這里你可以看...
    F麥子閱讀 5,104評論 5 13