給控件也添加類似轉(zhuǎn)場的動(dòng)畫效果

話不多說 , 先上地址:

簡單,快速給控件添加類似轉(zhuǎn)場的動(dòng)畫效果 - github

iOS中自定義轉(zhuǎn)場動(dòng)畫一直是一個(gè)比較酷炫的功能 , 使用得當(dāng)能使app的用戶體驗(yàn)和整體逼格都提高一個(gè)檔次.

那么 , 到底如何自定義一個(gè)酷炫的轉(zhuǎn)場效果呢?

咳咳!今天我這邊要說的并不是自定義轉(zhuǎn)場 , 如果有對這方面不是很熟悉的同學(xué)可以移步

iOS自定義轉(zhuǎn)場動(dòng)畫 - 簡書?

也歡迎到這里

自定義轉(zhuǎn)場動(dòng)畫 - github?

下載我的demo~

既然這樣 , 那如果給控件也添加上類似轉(zhuǎn)場的動(dòng)畫效果, 會(huì)變成什么樣子呢?

嗯 , 大概會(huì)是這個(gè)效果 :?


效果演示

反正我是覺得這個(gè)效果也很不錯(cuò)~

那要怎么實(shí)現(xiàn)這個(gè)效果呢 , 我的思路是這樣的:

1. 首先所有view的子類都應(yīng)該能擁有這種效果 , 那我們可以使用view的category來實(shí)現(xiàn) .


創(chuàng)建category

2. 要做到轉(zhuǎn)場效果 , 我們需要轉(zhuǎn)場前和轉(zhuǎn)場后的兩個(gè)view來組合動(dòng)畫(當(dāng)然有些動(dòng)畫效果可能不需要轉(zhuǎn)場后的view , 但是這里為了通用性 , 接口是留出兩個(gè)view的. 同樣的apple給我們開發(fā)者預(yù)留的自定義轉(zhuǎn)場接口也有fromViewController 和 toViewController , 當(dāng)然還有一個(gè)容器view , 我這里就直接使用view本身作為containerView了.)

外部調(diào)用的方法

3. 要獲取這兩個(gè)view , 我的做法是 , 在某個(gè)view調(diào)用這個(gè)方法時(shí) , 先對這個(gè)view截圖作為轉(zhuǎn)場前的view , 然后再執(zhí)行對控件屬性的更改 , 更改完后再對這個(gè)view截圖作為轉(zhuǎn)場后的view.

內(nèi)部實(shí)現(xiàn)

4. 獲得這兩個(gè)view之后 , 通過block將這兩個(gè)view返回出去 , 外部拿到view之后就可以根據(jù)需求自定義動(dòng)畫效果了.

通過block返回

5. 外部使用


使用默認(rèn)動(dòng)畫

自定義動(dòng)畫

注意: 自定義動(dòng)畫時(shí) , 動(dòng)畫結(jié)束后一定要把originView 和 newView移除掉!

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

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

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