中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS實現音樂播放器圖片旋轉示例

發布時間:2020-10-26 17:34:42 來源:億速云 閱讀:251 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關iOS實現音樂播放器圖片旋轉示例,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

通過給繼承與 UIImageView 的類 CXGImageView 添加 CABasicAnimation 轉動動畫,實現播放器圖片轉動效果.

主要提供三個方法: 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

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

 if isRotating {
 return
 }

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

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

}

注意: 使用中發現,當點下 Home 鍵再次返回應用時,圖片停止轉動,需要將動畫 isRemovedOnCompletion 置成 false.

看完上述內容,你們對iOS實現音樂播放器圖片旋轉示例有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

ios
AI

深圳市| 仙桃市| 花莲市| 瓦房店市| 苏尼特左旗| 大化| 筠连县| 南城县| 台中县| 灵宝市| 宁强县| 密山市| 金昌市| 井研县| 曲水县| 孝感市| 广河县| 苏尼特右旗| 德昌县| 榆中县| 克拉玛依市| 东安县| 祁阳县| 延津县| 南漳县| 松江区| 蛟河市| 玉田县| 彩票| 洪雅县| 桓台县| 建瓯市| 民和| 嘉峪关市| 玛曲县| 岗巴县| 当涂县| 馆陶县| 韶山市| 隆尧县| 中牟县|