iOS10新特性-Sessions 216 UIViewPropertyAnimator 屬性動(dòng)畫器

一. UIViewPropertyAnimator的介紹

UIViewPropertyAnimator 可以稱為屬性動(dòng)畫器,是iOS10中新增的一個(gè)執(zhí)行View動(dòng)畫的類,它主要具有一下的特點(diǎn):

1. 可中斷性

2. 可擦除

3. 可反轉(zhuǎn)性

4. 豐富的動(dòng)畫時(shí)間控制功能

以前我們執(zhí)行view的動(dòng)畫,基本上都是不可以中斷的,這次出了UIViewPropertyAnimator后,我們可以任意中斷動(dòng)畫和反轉(zhuǎn)繼續(xù)動(dòng)畫,提高了動(dòng)畫的可操作性。

UIViewPropertyAnimator是遵循UIViewImplicitlyAnimating協(xié)議

UIViewImplicitlyAnimating遵循UIViewAnimating協(xié)議

二. 代碼實(shí)現(xiàn)

1.我們首先添加要進(jìn)行一些動(dòng)畫操作的view:

self.testView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
self.testView.backgroundColor = [UIColor redColor];
[self.view addSubview:self.testView];

2.接下來我們可以初始化屬性動(dòng)畫器了:

@property (strong, nonatomic) UIViewPropertyAnimator *viewProperty;   
//初始化屬性動(dòng)畫器
self.viewProperty = [[UIViewPropertyAnimator alloc] initWithDuration:4.f curve:UIViewAnimationCurveLinear animations:^{
    self.testView.frame = CGRectMake(200, 200, 200, 200);
}];

在初始化屬性動(dòng)畫器中,我們讓testview由初始位置CGRectMake(100, 100, 100, 100)移動(dòng)到CGRectMake(200, 200, 200, 200),當(dāng)然這樣只是初始化,testview并不會(huì)真正的移動(dòng),如果想讓view移動(dòng)起來,我們需要:

    [self.viewProperty startAnimation];

這段代碼就可以了,同樣,我們可以讓view做一些其他的動(dòng)畫:
暫停view動(dòng)畫:

[self.viewProperty pauseAnimation];

停止view動(dòng)畫:

    [self.viewProperty stopAnimation:true]; 

其中stopAnimation:后跟了一個(gè)BOOL值,它的含義是 是否在動(dòng)畫執(zhí)行結(jié)束后才停止動(dòng)畫。

繼續(xù)動(dòng)畫:

UISpringTimingParameters *param = [[UISpringTimingParameters alloc] initWithDampingRatio:0.1];
[self.viewProperty continueAnimationWithTimingParameters:param durationFactor:1];

其中continueAnimationWithTimingParameters后面需要一個(gè)UITimingCurveProvider的參數(shù),這個(gè)參數(shù)的含義就是接下來的動(dòng)畫,我們想要以什么樣的形式執(zhí)行下去,這里我選擇了spring的形式,也就是彈簧的形式,durationFactor后面的參數(shù)意思是繼續(xù)執(zhí)行下去的動(dòng)畫效果在整個(gè)動(dòng)畫中的時(shí)間,我選擇了1s。

這些基本上就是UIViewPropertyAnimator的基本使用方法。只是一些基礎(chǔ)的介紹,在項(xiàng)目中暫時(shí)還沒怎么用到,以后具體用到了再補(bǔ)充!

查看Demo 注:Demo只能在xcode8中運(yùn)行

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在iOS中隨處都可以看到絢麗的動(dòng)畫效果,實(shí)現(xiàn)這些動(dòng)畫的過程并不復(fù)雜,今天將帶大家一窺ios動(dòng)畫全貌。在這里你可以看...
    每天刷兩次牙閱讀 8,688評論 6 30
  • 在iOS中隨處都可以看到絢麗的動(dòng)畫效果,實(shí)現(xiàn)這些動(dòng)畫的過程并不復(fù)雜,今天將帶大家一窺iOS動(dòng)畫全貌。在這里你可以看...
    F麥子閱讀 5,262評論 5 13
  • 動(dòng)畫的繼承結(jié)構(gòu) CAAnimation{CAPropertyAnimation{CABasicAnimation{...
    早起的蟲兒子被鳥吃閱讀 957評論 0 1
  • 愛是一陣風(fēng) 如影隨形 你看不見它 卻在體內(nèi)感受到它的涌出 你享受 卻又害怕 最后你錯(cuò)失了它 愛不是水 也不是火 它...
    涼夏涼閱讀 299評論 0 5
  • 【閱讀分享】 1、高效人士的七個(gè)習(xí)慣,灌溉出來的最高級、最美好和最甘甜的果實(shí)就是齊心協(xié)力,就是把自己、愛人、朋友和...
    真實(shí)讓夢飛閱讀 340評論 0 0

友情鏈接更多精彩內(nèi)容