UIView封裝動畫--iOS利用系統提供方法來做關鍵幀動畫

iOS利用系統提供方法來做關鍵幀動畫

ios7以后才有用。

    /*關鍵幀動畫options:UIViewKeyframeAnimationOptions類型*/[UIView animateKeyframesWithDuration:5.0 delay:0 options: UIViewAnimationOptionCurveLinear| UIViewAnimationOptionCurveLinear animations:^{//第二個關鍵幀(準確的說第一個關鍵幀是開始位置):從0秒開始持續50%的時間,也就是5.0*0.5=2.5秒[UIView addKeyframeWithRelativeStartTime:0.0 relativeDuration:0.5 animations:^{_imageView.center=CGPointMake(80.0, 220.0);}];//第三個關鍵幀,從0.5*5.0秒開始,持續5.0*0.25=1.25秒[UIView addKeyframeWithRelativeStartTime:0.5 relativeDuration:0.25 animations:^{_imageView.center=CGPointMake(45.0, 300.0);}];//第四個關鍵幀:從0.75*5.0秒開始,持所需5.0*0.25=1.25秒[UIView addKeyframeWithRelativeStartTime:0.75 relativeDuration:0.25 animations:^{_imageView.center=CGPointMake(55.0, 400.0);}];} completion:^(BOOL finished) {NSLog(@"Animation end.");}];
options可以分為兩類

對于關鍵幀動畫也有一些動畫參數設置options,UIViewKeyframeAnimationOptions類型,和上面基本動畫參數設置有些差別,關鍵幀動畫設置參數分為兩類,可以組合使用:

  • 常規動畫屬性設置(可以同時選擇多個進行設置)

    UIViewAnimationOptionLayoutSubviews:動畫過程中保證子視圖跟隨運動。

    UIViewAnimationOptionAllowUserInteraction:動畫過程中允許用戶交互。

    UIViewAnimationOptionBeginFromCurrentState:所有視圖從當前狀態開始運行。

    UIViewAnimationOptionRepeat:重復運行動畫。

    UIViewAnimationOptionAutoreverse :動畫運行到結束點后仍然以動畫方式回到初始點。

    UIViewAnimationOptionOverrideInheritedDuration:忽略嵌套動畫時間設置。

    UIViewAnimationOptionOverrideInheritedOptions :不繼承父動畫設置或動畫類型。

  • 動畫模式設置(同前面關鍵幀動畫動畫模式一一對應,可以從其中選擇一個進行設置)

    UIViewKeyframeAnimationOptionCalculationModeLinear:連續運算模式。

    UIViewKeyframeAnimationOptionCalculationModeDiscrete :離散運算模式。

    UIViewKeyframeAnimationOptionCalculationModePaced:均勻執行運算模式。

    UIViewKeyframeAnimationOptionCalculationModeCubic:平滑運算模式。

    UIViewKeyframeAnimationOptionCalculationModeCubicPaced:平滑均勻運算模式。

注意:關鍵幀動畫有兩種形式,屬性值關鍵幀動畫,路徑關鍵幀動畫目前UIView還不支持。

轉載于:https://www.cnblogs.com/fuunnyy/p/5776075.html

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

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

相關文章

JavaScript —從回調到異步/等待

JavaScript is synchronous. This means that it will execute your code block by order after hoisting. Before the code executes, var and function declarations are “hoisted” to the top of their scope.JavaScript是同步的。 這意味著它將在提升后按順序執行代碼塊。…

關于解決工作中的自動化環境搭建的解決方案(序)

時間:2015~2017 之前的自動化搭建平臺:robotest 安裝工具:jdk1.8,robotest 這種工具反正超級好用,華為方搞得工具,前臺操作超級傻瓜。會點xpatch,一些東西根本不在話下。但是坑爹的就是,出了外包…

xshell安裝mysql步驟_mysql主從復制

前期提要:三年前雙11買的阿里云今年到期了,win2012的,上面mysql數據庫里記著自己的一些記賬數據,上一年雙11買了騰訊云的,centos7.7, 想學學MYSQL的復制功能,今天趁著無BUG可擼,試著配置了一下&…

大專學計算機維修,《計算機維修與網絡工程》大專學歷班

語文、數學、計算機英語、公文寫作等辦公自動化指法訓練、英文打字、智能拼音及高速五筆字型中文打字、windows操作、Word2003文字處理軟件、Excel2003電子表格、Powerpoint2003幻燈片制作、Internet網絡的上網方法、瀏覽、下載、電子郵件收發等。本班學習完畢,可獨…

webpack指定第三方模塊的查找路徑

通常我們會使用一些地方模塊在我們的項目中,比如bootstrap import bootstrap 導入的bootstrap默認會查找當前目錄的node_modules文件,但是如果這個文件沒有,會依次往上級模塊查找,直到到C盤的根目錄為止,可以通過webpa…

我的第一個安卓應用程序_我如何設計我的第一個應用程序

我的第一個安卓應用程序by Daniel Novykov丹尼爾諾維科夫(Daniel Novykov) 我如何設計我的第一個應用程序 (How I Designed My First App) This is a story about building a product, what went wrong, and how it changed my career into Design.這是一個有關構建產品&#…

Appium——主從控制執行

1.客戶端(Eclipse)機器A, 服務端(appium、Genymotion)機器B 2.設置Appium,Server Address為192.168.17.123,重新啟動Appium 3.在客戶端機器A瀏覽器中輸入:http://192.168.17.123:4723/wd/hub, 說明配置成功。 JAVA代碼…

Python學習-03(集合,文件,編碼)

上周復習: 列表增刪改查 元祖是可讀列表 字符串操作 字典是無序的,通過key來找值。字典可以嵌套列表和字典 本周內容:集合--文件---字符編碼 集合引入: #隨機生成20個小于20的數,輸出所有的數,# 要求重復…

安裝centos7失敗認不到硬盤_CentOS7 用U盤安裝卡住無法進入安裝界面解決方案

使用U盤安裝Centos系統找不到U盤解決方案補充:1、制作U盤啟動盤請參考:使用UltraISO(軟碟通)制作ubuntu U盤啟動盤如果你安裝centos7出現了下圖這種情況不用擔心,是因為安裝centos7時找不到U盤稍等一下,如下圖等到出現命令行時。輸…

Django橫向二級導航欄(鼠標懸空事件)

1 <!DOCTYPE html>2 <html lang"en" xmlns"http://www.w3.org/1999/html">3 <head>4 <meta charset"UTF-8">5 <title>{% block title %} base模板 {% endblock title%}</title>6 <style >…

浙江大學計算機學院1702班,測控1702:傳道授業解惑 此間師者真情

2017年9月11日晚8:00&#xff0c;電氣與信息工程學院測控技術與儀器1702班在德智學生公寓的天臺上開展了一場別開生面的班主任見面交流會。測控1702班班主任文一章博士、電氣院2017級本科輔導員金晶老師以及測控1702班的同學們參加了此次見面會。測控1702班班主任文一章1991年出…

通過小程序給公眾號傳遞消息_多輸入現場消息傳遞應用程序概念

通過小程序給公眾號傳遞消息by Dawid Woldu戴維德沃爾杜(Dawid Woldu) 多輸入現場消息傳遞應用程序概念 (A multi-input field messaging app concept) Some time ago I shared in a Medium article the idea for context aware messenger app. The idea challenged the desig…

Oracle【IT實驗室】數據庫備份與恢復之二:SQL*Loader

2.1 基本知識 Oracle 的 SQL* LOADER 可以將外部格式化的文本數據加載到數據庫表中。通常 與 SPOOL導出文本數據方法配合使用。 1.命令格式 SQLLDR keywordvalue [&#xff0c;keywordvalue&#xff0c;……] 例&#xff1a;$ sqlldr user/pwd controlemp.ctl dataemp.dat ba…

關于spring 獲取不到網站上的xsd的處理記錄

2019獨角獸企業重金招聘Python工程師標準>>> 前兩天做一個項目還好好的&#xff0c;今天突然報出這個錯誤 cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element mvc:annotation-driven 應該是xml文件找不到相應…

藍寶石英語怎么讀_黑金和藍寶石

這是一直以后我個人的一個理解誤區&#xff0c;或者說是信息誤區&#xff0c;就是這兩個產品線&#xff0c;差別到底在哪里&#xff1f;以前我一直認為黑金的成分是純天然的&#xff0c;而藍寶石有一定的合成物質。這個信息一定是我從哪里讀到的&#xff0c;由于無處求證&#…

秘密潛入2小辣椒_短暫潛入2次,我顯然不知道自己作為開發人員正在做什么

秘密潛入2小辣椒by Zachary Kuhn扎卡里庫恩(Zachary Kuhn) 那兩次我顯然不知道我作為開發人員正在做什么 (Those two times where I clearly had no clue what I was doing as a developer) Last week I had a short conversation with coworkers about how we had messed up …

提高你的javascript代碼逼格系列之函數與數組

不知道大家有沒有一種感覺&#xff0c;那就是自己寫的javascript代碼雖然能完全解決工作上的需要&#xff0c;但是&#xff0c;一眼望去&#xff0c;too simple&#xff01;&#xff01;&#xff01;簡直就是一個傻子都能看懂的水平&#xff0c;于是&#xff0c;在工作之余&…

印度評論九章量子計算機,張禮立:中國 “九章”量子計算機到底厲害在哪?...

【背景信息】12月4日&#xff0c;《科學》雜志公布了中國“九章”的重大突破。 這臺由中國科學技術大學潘建偉、陸朝陽等學者研制的76個光子的量子計算原型機&#xff0c;推動全球量子計算的前沿研究達到一個新高度。盡管距離實際應用仍有漫漫長路&#xff0c;但成功實現了“量…

手機web網頁制作的認識(有關meta標簽)

近日以來一直在看JQuery Mobile 一個手機開發框架&#xff0c;說實話真的很頭疼的~~~~ 因為里面有很多的屬性、方法和事件~~~ 下面是手機網頁的一些認識&#xff1a; 一、<meta name"viewport" id"viewport" content"widthdevice-width, initial-s…

包打包和解析過程 unity_Unity學習—資源管理概覽

本文介紹了 Unity 常用四種默認路徑&#xff0c;以及 AssetDataBase、Resources、AssetBundle 和目前最新的 Addressable 四種資源管理方式文中所有 API 均以版本 2019.3 為準本文原地址&#xff1a;Unity學習—資源管理概覽資源路徑Application.dataPath官方文檔只讀&#xff…