帶你利用一句話完成轉場動畫

這篇文章主要給大家介紹了關于iOS如何利用一句話完成轉場動畫的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

前言

本文介紹SS_AnimationTransition 的使用方法,利用此庫,可以很方便的實現各種常見的轉場動畫.

SS_AnimationTransition具有很好的封裝性,使我們不必操心轉場中復雜的手勢驅動的操作,使我們只需要把精力放在動畫實現上就可以.

1.效果圖

神奇移動轉場.gif

平滑轉場.gif

抖音評論.gif

mask轉場.gif

2.使用方法

  1. 在需要用到轉場動畫的類中,導入頭文件
#import "SS_AnimationTransition.h"
復制代碼
  1. 選擇好動畫類型,直接Push或者Present
[self.navigationController ss_pushViewController:detailVC type:KAnimationTransitionTypeMagicMove];
復制代碼

或者

[self ss_presentVC:detailVC type:KAnimationTransitionTypeTikTokComment];
復制代碼

3.對于一些簡單的轉場動畫(例如平滑轉場),到此就已經完成了所有的轉場任務.

但是對于一些復雜的轉場動畫,需要提供目標視圖,例如:神奇移動轉場,如果從 fromVC Push toVC,則需要在fromVC和toVC中實現下面的方法. (關于是否要實現下面這個方法,不同的動畫類型情況各不相同,所以請查閱SS_AnimationTransitionConfig.h文件,里面有具體說明)

//在fromVC中提供動畫起始視圖
- (UIView *)SS_AnimationTransitionTargetView{return self.targetView;
}//在toVC中提供動畫結束視圖
- (UIView *)SS_AnimationTransitionTargetView{return self.topImageView;
}
復制代碼

3.SS_AnimationTransition的特點

  • 高內聚,低耦合,對項目的入侵性很低

  • 良好的內存管理,占用的內存很低,不過仍有優化的空間

  • 擴展性高,可以方便的自定義動畫

  • 支持Push和Present下的手勢驅動,通過手勢可以實現百分比動畫

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以加Q群:624212887交流,謝謝大家的支持。

文章來源于網絡,如有侵權,請聯系小編刪除。


轉載于:https://juejin.im/post/5c19f72d6fb9a049dd803b70

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/388844.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/388844.shtml
英文地址,請注明出處:http://en.pswp.cn/news/388844.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

14.vue路由腳手架

一.vue路由:https://router.vuejs.org/zh/ 1、定義 let router new VueRouter({mode:"history/hash",base:"基本路徑" 加一些前綴 必須在history模式下有效linkActiveClass:"active", 范圍選擇linkExactActiveClass:"exact&qu…

工程師、產品經理、數據工程師是如何一起工作的?

做為一名工程師,免不了與產品經理打交道,如果公司大一些,數據量多一些,還會有數據工程師這個角色。今天會和你主要聊一聊在工作中,產品經理和數據工程師在哪些方面對我們工程師的幫助最大,以及我從他們身上…

linux-buff/cache過大導致內存不足-程序異常

2019獨角獸企業重金招聘Python工程師標準>>> 問題描述 Linux內存使用量超過閾值,使得Java應用程序無可用內存,最終導致程序崩潰。即使在程序沒有掛掉時把程序停掉,系統內存也不會被釋放。 找原因的過程 這個問題已經困擾我好幾個月…

Android 適配(一)

一、Android適配基礎參數1.常見分辨率(px)oppx 2340x1080oppR15 2280x1080oppor11sp 2160*10801080*1920 (主流屏幕16:9)1080*216018:9 手機主流分辨率: 1080*2160高端 16:9 手機主流分辨率: 1080P (1080*1920) 或 2K …

Source Insight 創建工程(linux-2.6.22.6內核源碼)

1. 軟件設置 安裝完Source Insight,需要對其進行設置添加對“.S”匯編文件的支持: 2. 新建linux-2.6.22.6工程 1)選擇工程存放的路徑: 2)下載linux-2.6.22.6內核源碼,并解壓。在Source Insight中 指定源碼的…

課時20:內嵌函數和閉包

目錄: 一、global關鍵字 二、內嵌函數 三、閉包 四、課時20課后習題及答案 ******************** 一、global關鍵字 ******************** 全局變量的作用域是整個模塊(整個代碼段),也就是代碼段內所有的函數內部都可以訪問到全局…

從零開始學產品第六篇:更強大的測試,自動化測試和性能測試

本篇為【從零開始學產品】系列課第1章第5節歡迎到公眾號菜單欄,獲取產品經理課程更多資料 “測試就是拿點鼠標在電腦上瞎點,或者是用手機隨便戳幾下么?” “不,是有計劃有意圖的測試,比如說,邊界測試&#…

Get 了濾鏡、動畫、AR 特效,速來炫出你的短視頻開發特技!

在濾鏡美顏、搞怪特效、炫酷場景等各種新奇玩法驅動下,短視頻開始讓人上癮。 12 月 3 日,七牛云聯合八大短視頻特效平臺共同推出了中國短視頻開發者創意大賽(China Short Video Contest),面向全國邀請廣大開發者&#…

匿名函數、冒泡排序,二分法, 遞歸

匿名函數 lambda 匿名函數 格式 lambda 參數:返回值 函數名統一叫lambda,最多只能寫一行普通的正常的函數 def func(n):return n * n lambda匿名函數寫法 a lambda n : n**2 print(a(3)) 當有多個返回值時suiyi lambda x, y : (1, 2) # 筆試題 …

Redis源碼剖析

Redis源碼剖析和注釋(一)---鏈表結構 Redis源碼剖析和注釋(二)--- 簡單動態字符串 Redis源碼剖析和注釋(三)--- Redis 字典結構 Redis源碼剖析和注釋(四)--- 跳躍表(skiplist) Redis…

Android Activity生命周期

Android生命周期 Android的生命周期:onCreate() -> onStart() -> onResume() -> onPause() -> onStop() -> onDestroy() 如下圖所示: 1.當activity啟動時系統會先調用onCreate(),然后調用onStart(),最后調用**onResume()**方法&#xff0…

date數據存入mysql_Date對象存入mysql數據庫

java.sql.Date,java.sql.Time和java.sql.Timestamp三個都是java.util.Date的子類(包裝類)。java.sql.Date是java.util.Date的子類,是一個包裝了毫秒值的瘦包裝器,允許 JDBC 將毫秒值標識為 SQL DATE 值。毫秒值表示自 1970 年 1 月 1 日 00:00:00 GMT 以…

盛嚴謹,嚴謹,再嚴謹。_評估員工調查的統計嚴謹性

盛嚴謹,嚴謹,再嚴謹。The human resources industry relies heavily on a wide range of assessments to support its functions. In fact, to ensure unbiased and fair hiring practices the US department of labor maintains a set of guidelines (Uniform Guidelines) to …

復權就是對股價和成交量進行權息修

* 所謂復權就是對股價和成交量進行權息修復,按照股票的實際漲跌繪制股價走勢圖, * 并把成交量調整為相同的股本口徑。股票除權、除息之后,股價隨之產生了變化, * 但實際成本并沒有變化。 * 如:原來20元的股票,十送十之…

前端校驗和后端校驗

問:到底是前端校驗好還是后端校驗好呢? 答:后端校驗比前端校驗更安全,更可靠,前端校驗可以增加用戶體驗,一般來說,在前端校驗的東西在后端也必須校驗(比如登陸用戶名、密碼&#xff…

[MySQL] INFORMATION_SCHEMA 數據庫包含所有表的字段

sql注入后可以通過該數據庫獲取所有表的字段信息1. COLLATIONS表 提供有關每個字符集的排序規則的信息。 COLLATIONS表包含以下列:COLLATION_NAME 排序規則名稱。 CHARACTER_SET_NAME 與排序規則關聯的字符集的名稱。 ID 排序規則ID。 IS_DEFAULT 排序規則是否為其字…

開根號的筆算算法圖解_一個數的開根號怎么計算

一個數的開根號怎么計算2020-11-08 15:46:47文/鐘詩賀帶根號的式子可以直接進行開平方的運算。一些特殊的根號運算有;√2≈1.414、1/2-√3≈0.5-1.732≈-1.232、2√5≈22.236≈4.236、√7-√6≈2.646-2.449≈0.197。開平方的筆算方法1.將被開方數的整數部分從個位起…

arima 預測模型_預測未來:學習使用Arima模型進行預測

arima 預測模型XTS對象 (XTS Objects) If you’re not using XTS objects to perform your forecasting in R, then you are likely missing out! The major benefits that we’ll explore throughout are that these objects are a lot easier to work with when it comes to …

net程序員的iPhone開發-MonoTouch

net程序員的iPhone開發-MonoTouch iPhone軟件的Native開發除了使用Apple推薦的Objective-C Cocoa之外,也有其他的一些工具和SDK提供 基于WEB的形式的一些框架在下面這個文章介紹過 各種SmartPhone上的跨平臺開源框架的總結 http://www.cnblogs.com/2018/archive/20…

ASP防止SQL注入

防止SQL注入http://0.0.0.0/bzhs/login.asp?logTypeedit;WAITFOR DELAY 0:0:5 --logType Replace(Replace(Replace(Replace(logType,"-",""),"",""),"&",""),";","")fcdm Replace(Rep…