Popping筆記。Github上搜索"Popping"即可下載源代碼。
Image View
分析動畫。
1.上來就可以看到一個(gè)動畫(仔細(xì)觀察),是圖片從大到小并且有spring的效果。
2.點(diǎn)擊圖片會放大并有spring效果。
3.再點(diǎn)擊圖片會縮小并有spring效果。
4.小圖片狀態(tài)下按著鼠標(biāo)移動圖片,圖片跟著移動并帶有spring效果。
5.大圖片狀態(tài)下按著鼠標(biāo)移動圖片,圖片會縮小,并跟著鼠標(biāo)移動并帶有spring效果。
6.將小圖片移動到不是中心的地方,點(diǎn)擊圖片會縮小并回到中心。
看代碼。
ImageView.m很簡單就不寫了。
ImageViewController.m文件:
首先添加ImageView,并且為這個(gè)ImageView添加事件監(jiān)聽和手勢。并且在一上來我們讓圖片縮小,這也是我們分析的第1條。
在scaleDownView:方法里,設(shè)置了POPSpringAnimation動畫,使imageView橫豎都縮小到原來的0.5。
同樣,在scaleUpView:方法里,使imageView回到正常狀態(tài)并且回到中點(diǎn)。
touchUpInside:方法就是使圖片放大縮小,事實(shí)上這個(gè)方法我并不是很明白為什么要這樣做,比如animation.progress < 0.98。但是我覺得如果只是簡單的放大縮小圖片,只需要用一個(gè)BOOL類型的變量就可以實(shí)現(xiàn),就是在頻繁點(diǎn)擊圖片的時(shí)候沒有以前的效果,不過我覺得以前的并沒有太多的實(shí)用性,所以也就沒去研究,嘿嘿。
handlePan:方法更簡單了,我們在之前的筆記里學(xué)到過,讓view跟著我們手勢移動,在結(jié)束的時(shí)候帶有spring的效果,這里就不多說啦。
這樣一看這個(gè)還真沒說什么 =。= 加油加油