91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

宜宾市| 青河县| 盐亭县| 黎城县| 徐水县| 保靖县| 忻州市| 海丰县| 望谟县| 朝阳县| 章丘市| 来宾市| 揭东县| 泸州市| 沈丘县| 纳雍县| 德保县| 洞口县| 邵阳市| 都昌县| 山阴县| 砚山县| 无为县| 准格尔旗| 秀山| 兴安县| 肇源县| 天水市| 凤山市| 纳雍县| 文水县| 甘洛县| 正镶白旗| 会泽县| 新民市| 湘潭县| 宁夏| 汉源县| 阿瓦提县| 曲沃县| 连云港市|