沒圖說個毛啊? 所以我先給各位上效果圖
因為我用的錄制GIF的工具可能垃圾了一點飘蚯,錄制的GIF和實際demo效果有些出入蒸绩,建議將demo下載下來看看實際的演示效果肛捍。進入app首先看到的動畫是雹锣,一個TableView像瀑布流水從高處往下的感覺掖疮。關(guān)鍵代碼如下
然后再滑動tableview的時候 耳高,新創(chuàng)建的cell在出現(xiàn)在屏幕是以后水面漣漪的感覺扎瓶,給人的感覺是tableview整個就想一個湖面,滑動一下就是波光粼粼泌枪。
這個水面漣漪的效果就是使用POP動畫? 在cell高亮和非高亮的情況下? 縮放label形成的視覺差概荷。
在這里強調(diào)一個知識點,相信很多人都沒有注意過這個細節(jié)
- (void)setHighlighted:(BOOL)highlighted? animated:(BOOL)animated;
- (void)setSelected:(BOOL)selected animated:(BOOL)animated;
這兩個方法一個是設(shè)置cell的高亮狀態(tài)碌燕,另一個是設(shè)置cell的選中狀態(tài)误证,我們只需要在這兩個方法里面打印信息就可以看出點擊cell時這些狀態(tài)是怎么變化的了。當我們點擊cell的時候修壕,其實是先設(shè)置cell的高亮狀態(tài)為YES愈捅,然后松手的時候再將cell的高亮狀態(tài)設(shè)置為NO,接著才是設(shè)置cell的選中狀態(tài)為YES慈鸠,最后才會去調(diào)用delegate中的tableview:didSelectRowAtIndexPath:方法蓝谨。
demo中使用了很多分類,目的是為了給對象設(shè)置屬性的使用效率更快?? 比如tableview中的紅色的數(shù)字標簽和title 的顏色? 字體?? 關(guān)鍵代碼如下
Demo:github.com/huxiao123/POPAnimation.git?