亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Swift > 正文

Swift語言實現地圖坐標彈跳動畫

2020-03-09 17:50:10
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了用Swift語言實現地圖坐標彈跳動畫的方法主要應用iOS7來實現此功能,需要的朋友可以參考下
 

下面應用Swift語言做地圖坐標實現彈簧跳動的效果,具體實現方法如下所示:

iOS動畫大概分這幾種:

CoreAnimation動畫(基礎)UIView動畫(animateWithDuration開頭的函數,帶彈簧特效)UIDynamic動畫(有物理引擎)

上次寫彈跳動畫,由于剛開始學,就用了最基礎的CA動畫,但是因為自己不會寫KeyFrame,所以還引用了一個開源庫來實現下墜的彈跳效果,這樣固然是實現了需求,但是一點都不優雅——從iOS7開始,有了2、3兩種動畫,就不再需要用老的CA動畫去一點一點拔了。做這個動畫的正確姿勢,應該是下面這樣~

我們的需求仍然是這個彈跳的marker:

Swift語言實現地圖坐標彈跳動畫

這次我用了2、3兩種方式實現,效果如下:

Swift語言實現地圖坐標彈跳動畫

一、UIView動畫

之前使用CABasicAnimation實現,不僅代碼多,還要用CATransaction控制回來的一趟callback。其實直接用iOS7的UIView動畫就搞定了:

UIView.animateWithDuration(0.2, animations: { self.marker.layer.position.y -= 30 },completion: {(finished) in UIView.animateWithDuration(0.5, delay: 0,usingSpringWithDamping: 0.2,initialSpringVelocity: 5.0,options: UIViewAnimationOptions.CurveEaseOut,animations: {//彈性參數的調教,可以參見本文的“參考”部分 self.marker.layer.position.y += 30 }, completion: nil)})

 

 

在上升過程中,直接在0.2s的時間中,向上移動30px;向下過程中,為了表示彈跳的效果,使用了Spring系列參數,做了一下調整之后,感覺效果還是挺有意思的。但是單純使用這個有一個缺點:我們要的是類似于重力下墜,而非像一根彈簧一樣彈到那個位置。注意那跟藍色的比較線,我們實現的是左邊的效果,在動畫過程中,它會超過那根藍色線條,所以其實是不符合需求的。

二、UIDynamic動畫

UIDynamic動畫是有物理引擎的動畫,我們只需要設定這個“物體”的物理特性,iOS就會自動幫我們進行物理世界的動畫運算。首先我們創建它的物理特性:

var animator : UIDynamicAnimator?override func viewDidLoad() { super.viewDidLoad() animator = UIDynamicAnimator(referenceView: view)}override func viewDidAppear(animated: Bool) { let gravity = UIGravityBehavior(items: [marker2])//重力 let elastic = UIDynamicItemBehavior(items: [marker2])//彈性 elastic.elasticity = 0.6 let collision = UICollisionBehavior(items: [marker2])//邊緣 let endY = marker2.frame.origin.y + marker2.frame.height//記錄marker2的底部坐標 collision.addBoundaryWithIdentifier("floor", fromPoint: CGPoint(x: 0, y: endY),toPoint: CGPoint(x: UIScreen.mainScreen().bounds.width, y: endY))//在marker2的底部畫一條線,從屏幕左邊到屏幕右邊 animator!.addBehavior(collision) animator!.addBehavior(gravity) animator!.addBehavior(elastic)}

 

 

首先我們創建一個animator,然后創建關于marker2的重力、彈性、邊緣三個屬性,附加在animator上。于是這個marker2便有了物理特性。然后我們和以前一樣把它抬高:

UIView.animateWithDuration(0.2, animations: { self.marker2.layer.position.y -= 30 }, completion: {(finished : Bool) in self.animator!.updateItemUsingCurrentState(self.marker2)//如果不update,則animator不知道它的位置被移動過了})

 

在動畫完成后,讓animator重新對它進行活動,就達到了文章開始的gif圖中,第二個marker的彈跳效果。

文章到此為止,希望對大家有所幫助,謝謝。



注:相關教程知識閱讀請移步到swift教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品视频偷偷看在线观看| 97久久精品人搡人人玩| 韩国19禁主播vip福利视频| 国产在线久久久| 亚洲欧美国产一本综合首页| 日韩视频一区在线| 91精品国产91久久| 97视频在线播放| 91天堂在线观看| 亚洲香蕉在线观看| 国语自产偷拍精品视频偷| 日韩在线欧美在线| 日本不卡高字幕在线2019| 人人爽久久涩噜噜噜网站| 欧美激情在线有限公司| 亚洲电影免费观看高清完整版在线观看| 成人字幕网zmw| 国产成人自拍视频在线观看| 自拍偷拍亚洲一区| 日韩成人在线免费观看| 午夜精品久久久久久久99黑人| 亚洲欧美精品一区| 亚洲第一区中文字幕| 久久久久久999| 91网站免费观看| 97精品欧美一区二区三区| 成人国产亚洲精品a区天堂华泰| 久久韩剧网电视剧| 精品久久久久久亚洲精品| 亚洲国产高清自拍| 国产视频精品自拍| 久久精品亚洲热| 精品在线欧美视频| 欧美风情在线观看| 91久久久精品| 国产精品免费一区| 久久久精品中文字幕| 97精品国产91久久久久久| 尤物九九久久国产精品的分类| 欧美激情啊啊啊| 欧美激情在线有限公司| 午夜精品一区二区三区在线视频| 亚洲国产中文字幕在线观看| 中文字幕亚洲无线码a| 91精品国产777在线观看| 欧美第一页在线| 国产婷婷97碰碰久久人人蜜臀| 日韩第一页在线| 一区二区三区视频在线| 国产亚洲精品久久久久动| 欧美成人午夜剧场免费观看| 亚洲欧美日本伦理| 国产成人精品免费视频| 亚洲深夜福利在线| 久久精品视频导航| 亚洲国产精品99久久| 成人亲热视频网站| 欧美日韩激情美女| 日韩中文字幕国产| 欧美有码在线视频| 精品欧美一区二区三区| 88国产精品欧美一区二区三区| 亚洲精品欧美日韩专区| 激情久久av一区av二区av三区| 精品久久久久久久久久ntr影视| 91精品国产91久久久久久| 国产成人综合亚洲| 亚洲欧美在线磁力| 伊人久久大香线蕉av一区二区| 欧美日韩一区二区免费在线观看| 亚洲图片欧美午夜| 日韩av有码在线| 日韩精品免费视频| 欧美成人亚洲成人| 午夜精品久久久久久久久久久久久| 欧美福利在线观看| 日韩av在线一区| 精品视频久久久久久久| 亚洲天堂日韩电影| 欧美大人香蕉在线| 国产欧美精品xxxx另类| 大荫蒂欧美视频另类xxxx| 久久精品成人欧美大片古装| 亚洲色图校园春色| 欧美性猛交xxxx黑人| 亚洲va欧美va在线观看| 亚洲综合最新在线| 91精品视频免费| 亚洲精品aⅴ中文字幕乱码| 日韩电影中文字幕av| 中文字幕久久久av一区| 97免费中文视频在线观看| 亚洲精品久久视频| 亚州成人av在线| 亚洲欧洲日产国码av系列天堂| 欧美理论片在线观看| 色综合久久久久久中文网| 国产精品视频最多的网站| 成人有码在线播放| 日韩精品极品在线观看播放免费视频| 精品久久久久久国产91| 91免费的视频在线播放| 久久精品中文字幕| 欧美成人精品不卡视频在线观看| 中文字幕在线看视频国产欧美| 国产丝袜一区二区| 欧美性xxxx18| 色www亚洲国产张柏芝| 欧美一级片久久久久久久| 国产精品美女久久| 久久男人av资源网站| 性欧美长视频免费观看不卡| 国产精品久久不能| 亚洲裸体xxxx| 国内外成人免费激情在线视频网站| 日韩天堂在线视频| 亚洲天堂2020| 欧美日韩第一页| 51ⅴ精品国产91久久久久久| 日韩视频欧美视频| 亚洲人成网站999久久久综合| 亚洲精品视频网上网址在线观看| 久久久电影免费观看完整版| 久久九九免费视频| 91牛牛免费视频| 久久久久亚洲精品| 一区二区三区高清国产| 成人免费看吃奶视频网站| 人人澡人人澡人人看欧美| 国产一区二区三区四区福利| 日韩有码在线电影| 欧美精品成人91久久久久久久| 亚洲欧美中文日韩在线v日本| 日韩av网址在线观看| 日韩在线激情视频| 国产精品欧美日韩一区二区| 国产在线一区二区三区| 亚洲男人第一网站| 91在线视频导航| 亚洲精品久久久久久久久久久| 亚洲日本aⅴ片在线观看香蕉| 黑人巨大精品欧美一区二区| 亚洲一区二区久久久久久| 亚洲精品国精品久久99热| 欧美一级淫片videoshd| 欧美日韩国产综合新一区| 日韩国产精品视频| 国产精品第2页| 日韩av影片在线观看| 亚洲男人天堂手机在线| 日韩乱码在线视频| 成人av色在线观看| 色综合视频一区中文字幕| 日韩av在线免费| 国产色婷婷国产综合在线理论片a| 中文字幕日韩有码| 国产精品三级美女白浆呻吟| 91av在线不卡| 亚洲精品午夜精品| 欧美国产视频日韩| 亚洲性日韩精品一区二区| 国产日本欧美在线观看| 亚洲最大福利视频| 国产日韩亚洲欧美|