###前言git
這段時間寫了一個自定義轉場動畫集,只須要一行代碼就能夠實現各類各樣的自定義轉場動畫。這是源碼地址
WXSTransition
你們能夠去下載來看看。github
###介紹
transition animation asset
一個界面轉場動畫集。bash
在平時開發中,有時候須要一些轉場動畫給界面調整增添一些活力,而實現這些動畫相對比較繁瑣。
爲了讓實現轉場更簡單,我寫了這個界面轉場動畫集。
調整界面時,只要一行代碼就能夠實現這裏面的動畫。
包括系統提供的動畫在內,目前有大概50種動畫。動畫
###使用方法url
#####一、首先導入頭文件#import "UINavigationController+WXSTransition.h"
spa
#####二、一行代碼就能夠調用
Push:3d
[self.navigationController wxs_pushViewController:(UIViewController *) animationType:(WXSTransitionAnimationType)];複製代碼
Present:代理
[self wxs_presentViewController:(UIViewController *) animationType:(WXSTransitionAnimationType) completion:^{
}];複製代碼
說明:
WXSTransitionAnimationType是轉場動畫類型,經過這個枚舉選擇你想要的轉場動畫。code
#####三、支持屬性修改cdn
[self wxs_presentViewController:<#(UIViewController *)#> makeTransition:^(WXSTransitionManager *transition) {
transition.animationType = WXSTransitionAnimationTypePointSpreadPresent;
transition.animationTime = 1;
}];複製代碼
能夠經過transition設置動畫時間、類型等屬性,目前可修改屬性很少,之後版本會增長
#####四、特殊調用
像point Spread 、ViewMoveToNextVC這樣的動畫,須要個起始view,只要將目標控制器的startView指向這個view就能夠了,代碼以下;
DetailViewController *vc = [[DetailViewController alloc] init];
CollectionViewCell *cell = (CollectionViewCell *)[collectionView cellForItemAtIndexPath:indexPath];
vc.startView = cell.imgView;
[self.navigationController wxs_pushViewController:vc makeTransition:^(WXSTransitionManager *transition) {
transition.animationType = WXSTransitionAnimationTypeViewMoveToNextVC;
transition.animationTime = 1;
}];複製代碼
###動畫效果圖
#####自定義動畫
######系統動畫
iOS自身其實有許多不錯的轉場動畫,在這個轉場動畫集裏也進行了封裝,使用方法跟自定義轉場動畫同樣。
Push:
[self.navigationController wxs_pushViewController:<#(UIViewController *)#> animationType:<#(WXSTransitionAnimationType)#>];複製代碼
Present:
[self wxs_presentViewController:<#(UIViewController *)#> animationType:<#(WXSTransitionAnimationType)#> completion:<#^(void)completion#>]複製代碼
###後語
如今是第一個版本,本來準備支持交互手勢,可是一些動畫使用了交互手勢存在許多問題,因此這個版本去除了,準備在之後的版本中增長一些一下功能:
一、添加一些酷炫的轉場動畫
二、支持交互手勢
三、提供自定義動畫接口,讓使用者想實現本身的轉場動畫時,不用實現各類代理等繁瑣工做,專一於fromVC,和toVC的動畫邏輯。
最後再提供一下gittub 連接。
WXSTransition歡迎你們來下載使用,記得給個star。若是有什麼想法,能夠進行交流,讓咱們一塊兒進步。