欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS實現(xiàn)音樂播放器圖片旋轉(zhuǎn)

 更新時間:2020年10月20日 16:46:36   作者:CuiXg  
這篇文章主要為大家詳細(xì)介紹了iOS實現(xiàn)音樂播放器圖片旋轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了iOS實現(xiàn)音樂播放器圖片旋轉(zhuǎn)的具體代碼,供大家參考,具體內(nèi)容如下

通過給繼承與 UIImageView 的類 CXGImageView 添加 CABasicAnimation 轉(zhuǎn)動動畫,實現(xiàn)播放器圖片轉(zhuǎn)動效果.

主要提供三個方法: startRotating, stopRotating,resumeRotate

startRotating

/// 開始動畫
func startRotating() {
 let rotateAnimation = CABasicAnimation(keyPath: "transform.rotation")
 rotateAnimation.isRemovedOnCompletion = false // 避免點擊 Home 鍵返回,動畫停止
 rotateAnimation.fromValue = 0.0
 rotateAnimation.toValue = Double.pi * 2
 rotateAnimation.duration = 20
 rotateAnimation.repeatCount = MAXFLOAT
 self.layer.add(rotateAnimation, forKey: nil)
 isRotating = true
}

stopRotating

/// 停止動畫
func stopRotating() {
 if !isRotating {
 return
 }
 let pausedTime = self.layer.convertTime(CACurrentMediaTime(), from: nil)
 // 讓CALayer的時間停止走動
 self.layer.speed = 0
 // 讓CALayer的時間停留在pausedTime這個時刻
 self.layer.timeOffset = pausedTime
 isRotating = false
}

resumeRotate

/// 繼續(xù)動畫
func resumeRotate() {

 if isRotating {
 return
 }

 if self.layer.timeOffset == 0 {
 startRotating()
 return
 }

 let pausedTime = self.layer.timeOffset
 // 1. 讓CALayer的時間繼續(xù)行走
 self.layer.speed = 1.0
 // 2. 取消上次記錄的停留時刻
 self.layer.timeOffset = 0.01
 // 3. 取消上次設(shè)置的時間
 self.layer.beginTime = 0.0
 // 4. 計算暫停的時間(這里也可以用CACurrentMediaTime()-pausedTime)
 let timeWhenpause = self.layer.convertTime(CACurrentMediaTime(), from: nil) - pausedTime
 // 5. 設(shè)置相對于父坐標(biāo)系的開始時間(往后退timeSincePause)
 self.layer.beginTime = timeWhenpause
 isRotating = true

}

注意: 使用中發(fā)現(xiàn),當(dāng)點下 Home 鍵再次返回應(yīng)用時,圖片停止轉(zhuǎn)動,需要將動畫 isRemovedOnCompletion 置成 false.

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • iOS開發(fā)之事件傳遞響應(yīng)鏈

    iOS開發(fā)之事件傳遞響應(yīng)鏈

    這篇文章主要為大家介紹了iOS開發(fā)之事件傳遞響應(yīng)鏈,何為事件的響應(yīng)鏈,本文為大家揭曉,感興趣的小伙伴們可以參考一下
    2016-01-01
  • iOS應(yīng)用開發(fā)中使用NSLocale類實現(xiàn)對象信息的本地化

    iOS應(yīng)用開發(fā)中使用NSLocale類實現(xiàn)對象信息的本地化

    這篇文章主要介紹了iOS應(yīng)用開發(fā)中使用NSLocale類實現(xiàn)對象信息的本地化的方法,能夠?qū)r間和貨幣等格式化為與系統(tǒng)本地設(shè)置相同的偏好,需要的朋友可以參考下
    2016-05-05
  • iOS7 毛玻璃特效代碼

    iOS7 毛玻璃特效代碼

    這篇文章主要分享了iOS7 毛玻璃特效代碼,非常的實用,做IOS開發(fā)的童鞋們不要錯過了
    2014-10-10
  • 使用SDLocalize實現(xiàn)高效完成iOS多語言工作

    使用SDLocalize實現(xiàn)高效完成iOS多語言工作

    這篇文章主要介紹了使用SDLocalize實現(xiàn)高效完成iOS多語言工作的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • IOS中UIImageView方法實現(xiàn)簡單動畫

    IOS中UIImageView方法實現(xiàn)簡單動畫

    這篇文章主要介紹了IOS中UIImageView方法實現(xiàn)簡單動畫的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • iOS AVPlayer切換播放源實現(xiàn)連續(xù)播放和全屏切換的方法

    iOS AVPlayer切換播放源實現(xiàn)連續(xù)播放和全屏切換的方法

    這篇文章主要給大家介紹了關(guān)于iOS中AVPlayer切換播放源實現(xiàn)連續(xù)播放和全屏切換的方法,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • iOS仿擦玻璃效果的實現(xiàn)方法

    iOS仿擦玻璃效果的實現(xiàn)方法

    最近在網(wǎng)上看到一個博客分享的這個效果很不錯,就拿下來看看,結(jié)果看了好幾遍也沒完全看懂,再結(jié)合自己之前學(xué)的東西感覺不用這么復(fù)雜也能實現(xiàn)同樣的效果,于是就開始動手了?,F(xiàn)在將實現(xiàn)的步驟和示例代碼分享給大家,有需要的朋友們可以參考借鑒。
    2016-10-10
  • iOS NSURLSessionDownloadTask設(shè)置代理文件下載的示例

    iOS NSURLSessionDownloadTask設(shè)置代理文件下載的示例

    本篇文章主要介紹了iOS NSURLSessionDownloadTask設(shè)置代理文件下載的示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • iOS中containsString和rangeOfString的區(qū)別小結(jié)

    iOS中containsString和rangeOfString的區(qū)別小結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于iOS中containsString和rangeOfString的一些區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • iOS自定義UIBarButtonItem的target和action示例代碼

    iOS自定義UIBarButtonItem的target和action示例代碼

    這篇文章主要給大家介紹了關(guān)于iOS自定義UIBarButtonItem的target和action的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02

最新評論