中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS中怎么實現一個序列動畫

發布時間:2021-07-24 15:34:18 來源:億速云 閱讀:164 作者:Leah 欄目:編程語言

這篇文章給大家介紹iOS中怎么實現一個序列動畫,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

UIViewPropertyAnimator

iOS10引入了UIViewPropertyAnimator ,基于篇幅原因,這里不對其做詳細介紹,如果需要讀者請自行補腦。我關心的是如何提高這類多層嵌套代碼的可讀性,通過UIViewPropertyAnimator,前面的代碼片斷將成為:

通過上面的方式我們可以將動畫定義分離開來,這樣不僅有更好的可讀性,還可以解耦。這樣已經比開始的代碼漂亮多了,但是我們還可以寫的更好...

Reactive animation chaining

我是一個rx的重度用戶,我首先想到的是:是否有辦法讓UIViewPropertyAnimation與RxSwift兼容?

大概思路是觀察一個動畫的狀態,然后觸發下一個,接下來我們通過擴展UIViewPropertyAnimation來實現 擴展會有封裝UIViewPropertyAnimator的“startAnimation”和“addCompletion”機制。它將返回的可觀察的狀態。但是為了簡單起見,我們假定一個動畫只能“complete”,沒有“stream”管理(如onNext、onSubscribed onDisposed等等)。

Talk is cheap,Show me the code

上面動畫擴展返回一個 Completable狀態 ,訂閱時,將開始動畫和添加完成回調,發送一個“.completed”事件。目的很簡單:當完成動畫,開始執行下一個開始動畫,代碼如下。

按理說寫到這里應該結束了,但是可能有讀者說,我們并沒有引入RX,沒錯你的代碼很優雅,然而對我們來說成本有點高,那么就繼續講講其他的方案,總有一款適合你。

自定義操作符

我們都知道Swift有很cool的特性:自定義操作符,我們總希望把代碼些簡單,讓別的同事看自己的代碼時一目了然,都不需注釋就懂什么意思,比如:

animation1 ~> animation2 ~> animation3 ~> animation4

關于iOS中怎么實現一個序列動畫就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

ios
AI

阿图什市| 西平县| 本溪| 辽宁省| 芜湖县| 洪江市| 鹤山市| 无锡市| 安平县| 宁强县| 丰顺县| 阿荣旗| 平顶山市| 白山市| 石首市| 湄潭县| 板桥市| 饶河县| 连城县| 象州县| 师宗县| 龙山县| 宜丰县| 武宁县| 准格尔旗| 绥宁县| 九台市| 开鲁县| 海兴县| 青川县| 丰顺县| 锦州市| 措勤县| 永新县| 美姑县| 永兴县| 桓仁| 鸡西市| 仁怀市| 古交市| 池州市|