最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)文章

  • 如何為Xcode添加刪除整行、復(fù)制整行及在下方新建一行快捷鍵詳解

    如何為Xcode添加刪除整行、復(fù)制整行及在下方新建一行快捷鍵詳解

    xcode是蘋果公司向開發(fā)人員提供的集成開發(fā)環(huán)境,開發(fā)者們經(jīng)常會使用到,下面這篇文章主要給大家介紹了關(guān)于如何為Xcode添加刪除整行、復(fù)制整行及在下方新建一行快捷鍵的相關(guān)資料,需要的朋友可以參考下。
    2018-04-04
  • iOS系統(tǒng)緩存方面開發(fā)的相關(guān)基礎(chǔ)

    iOS系統(tǒng)緩存方面開發(fā)的相關(guān)基礎(chǔ)

    這篇文章主要介紹了iOS系統(tǒng)緩存方面開發(fā)的相關(guān)基礎(chǔ),示例代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下
    2015-10-10
  • iOS實現(xiàn)時間顯示幾分鐘前,幾小時前以及剛剛的方法示例

    iOS實現(xiàn)時間顯示幾分鐘前,幾小時前以及剛剛的方法示例

    這篇文章主要介紹了如何利用iOS實現(xiàn)時間顯示是在幾小時前,幾分鐘前以及剛剛的格式,類似大家在qq空間和朋友圈微博看到的效果,文中給出了詳細(xì)的示例代碼,有需要的朋友們可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-01-01
  • IOS實現(xiàn)選擇城市后跳轉(zhuǎn)Tabbar效果

    IOS實現(xiàn)選擇城市后跳轉(zhuǎn)Tabbar效果

    這篇文章主要為大家詳細(xì)介紹了IOS實現(xiàn)選擇城市后跳轉(zhuǎn)Tabbar效果的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • iOS NSCache和NSUrlCache緩存類實現(xiàn)示例詳解

    iOS NSCache和NSUrlCache緩存類實現(xiàn)示例詳解

    這篇文章主要為大家介紹了iOS NSCache和NSUrlCache緩存類實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • iOS 無卡頓同時使用圓角、陰影和邊框的實現(xiàn)

    iOS 無卡頓同時使用圓角、陰影和邊框的實現(xiàn)

    這篇文章主要介紹了iOS 無卡頓同時使用圓角、陰影和邊框的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 詳解iOS多線程GCD問題

    詳解iOS多線程GCD問題

    本篇文章主要介紹了iOS多線程GCD問題,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • IOS中對Url進行編碼和解碼示例

    IOS中對Url進行編碼和解碼示例

    本篇文章主要介紹了IOS中對Url進行編碼和解碼示例,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • WKWebview非全屏自動播放h5視頻的實現(xiàn)方法(Swift、OC)

    WKWebview非全屏自動播放h5視頻的實現(xiàn)方法(Swift、OC)

    這篇文章主要給大家介紹了關(guān)于WKWebview非全屏自動播放h5視頻的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • iOS實現(xiàn)簡單計算器功能

    iOS實現(xiàn)簡單計算器功能

    這篇文章主要為大家詳細(xì)介紹了iOS實現(xiàn)簡單計算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評論

瑞安市| 光山县| 来宾市| 澄迈县| 潞城市| 高要市| 思茅市| 申扎县| 综艺| 双城市| 齐河县| 金平| 酉阳| 溧阳市| 松原市| 垫江县| 黎城县| 巴彦县| 岚皋县| 林西县| 林口县| 文水县| 旺苍县| 洛宁县| 望江县| 富民县| 阿克陶县| 宁城县| 调兵山市| 洞头县| 娱乐| 阿荣旗| 安乡县| 博白县| 荥阳市| 棋牌| 柞水县| 读书| 拜泉县| 彰化县| 科尔|