你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> 【干貨】一行代碼實現自定義轉場動畫

【干貨】一行代碼實現自定義轉場動畫

編輯:IOS開發基礎

QQ截圖20160627170039.jpg

投稿文章,作者:alanwangmodify

前言

這段時間寫了一個自定義轉場動畫集,只需要一行代碼就可以實現各種各樣的自定義轉場動畫。這是源碼地址:WXSTransition。

大家可以去下載來看看,喜歡的話麻煩給個Star。

介紹

transition animation asset

一個界面轉場動畫集。

在平時開發中,有時候需要一些轉場動畫給界面調整增添一些活力,而實現這些動畫相對比較繁瑣。

為了讓實現轉場更簡單,我寫了這個界面轉場動畫集。

調整界面時,只要一行代碼就可以實現這裡面的動畫。

包括系統提供的動畫在內,目前有大概50種動畫。

使用方法

1、首先導入頭文件

#import "UINavigationController+WXSTransition.h"

2、一行代碼就可以調用

Push:

[self.navigationController wxs_pushViewController:(UIViewController *) animationType:(WXSTransitionAnimationType)];

Present:

[self wxs_presentViewController:(UIViewController *) animationType:(WXSTransitionAnimationType) completion:^{
}];

說明:

WXSTransitionAnimationType是轉場動畫類型,通過這個枚舉選擇你想要的轉場動畫。

3、支持屬性修改

[self wxs_presentViewController: makeTransition:^(WXSTransitionManager *transition) {
    transition.animationType =  WXSTransitionAnimationTypePointSpreadPresent;
    transition.animationTime = 1;
}];

可以通過transition設置動畫時間、類型等屬性,目前可修改屬性不多,以後版本會增加

4、特殊調用

像point Spread 、ViewMoveToNextVC這樣的動畫,需要個起始view,只要將目標控制器的startView指向這個view就可以了,代碼如下;

1819750-f1844a487d21b5ae.gif

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;
}];

動畫效果圖

自定義動畫

1819750-002a3e7ba717a4a2.gif

1819750-1233dff7dcc1f781.gif

1819750-ac6f189e6ab77103.gif

1819750-b0d659fc4ac51cce.gif

1819750-9ae58fa6a6a944e8.gif

1819750-0b3716c415b1440d.gif

1819750-3886af1868ca5484.gif

1819750-f1844a487d21b5ae (1).gif

系統動畫

iOS自身其實有許多不錯的轉場動畫,在這個轉場動畫集裡也進行了封裝,使用方法跟自定義轉場動畫一樣。

Push:

[self.navigationController wxs_pushViewController: animationType:];

Present:

[self wxs_presentViewController: animationType: completion:]

1819750-b92bb33b6a7d6696.gif

1819750-a83173c2a6c7695e.gif

後語

現在是第一個版本,原本准備支持交互手勢,但是一些動畫使用了交互手勢存在許多問題,所以這個版本去除了,准備在以後的版本中增加一些一下功能:

1、添加一些酷炫的轉場動畫

2、支持交互手勢

3、提供自定義動畫接口,讓使用者想實現自己的轉場動畫時,不用實現各種代理等繁瑣工作,專注於fromVC,和toVC的動畫邏輯。

最後再提供一下gittub地址:WXSTransition。

歡迎大家來下載使用,記得給個star。如果有什麼想法,可以進行交流,讓我們一起進步。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved