SwiftUI中實現(xiàn)創(chuàng)建反彈動畫-創(chuàng)新互聯(lián)

SwiftUI 中實現(xiàn)創(chuàng)建反彈動畫?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

從策劃到設計制作,每一步都追求做到細膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供成都網(wǎng)站設計、成都做網(wǎng)站、網(wǎng)站策劃、網(wǎng)頁設計、申請域名、網(wǎng)頁空間、網(wǎng)絡營銷、VI設計、 網(wǎng)站改版、漏洞修補等服務。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進步。

SwiftUI 中的動畫

在寫動畫之前呢先簡單回顧一下 SwiftUI 中動畫的幾個要點:

  • 動畫是 view 發(fā)生變化時的漸變效果
  • SwiftUI 動畫分為隱式動畫( .animation() )與顯式動畫( withAnimation() )兩種
  • 隱式動畫是給 view 加動畫,view 所有的能動畫的變化都能被隱式動畫影響
  • 顯式動畫是針對某個變化進行動畫,能精準控制。
  • view 的插入和移除通過過渡( transition )來做效果,可以組合多個過渡或自定義過渡
  • 要構建自定義動畫,我們需要實現(xiàn)一個可動畫的 view 修飾器(遵守 AnimatableModier 協(xié)議)或者實現(xiàn)一個 GeometryEffect ,并將可動畫的屬性通過 animatableData 暴露出來

 反彈動畫

反彈動畫屬于“起始點和終止點相等”的動畫,所以不能夠通過 SwiftUI 中內(nèi)建的動畫來實現(xiàn)(因為這個 view 從結果來看沒有發(fā)生變化)

我們先來構建反彈動畫修飾器的框架如下:

struct Bounce: AnimatableModifier {
  var animCount: CGFloat = 0
  var amplitude: CGFloat = 10  // 振幅
  
  var animatableData: CGFloat {
    get { animCount }
    set { animCount = newValue }
  }
  
  func body(content: Content) -> some View {
    // change view to animate
  }
}

網(wǎng)頁題目:SwiftUI中實現(xiàn)創(chuàng)建反彈動畫-創(chuàng)新互聯(lián)
新聞來源:http://bm7419.com/article30/djhppo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、微信小程序、網(wǎng)站收錄用戶體驗、自適應網(wǎng)站、網(wǎng)頁設計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司