iOS 음악 재생 기 그림 회전 실현
계승 및 UIImageView 의 클래스 CXGImageView 에 CABasic Animation 회전 애니메이션 을 추가 하여 플레이어 그림 회전 효 과 를 실현 합 니 다.
주로 세 가지 방법 을 제공 합 니 다:startRotating,stopRotating,resume Rotate
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
}
메모:홈 키 를 누 르 고 다시 응용 프로그램 으로 돌아 갈 때 그림 이 돌아 가지 않 습 니 다.애니메이션 isRemovedOnComplete 를 false 로 설정 해 야 합 니 다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
View의 레이아웃 방법을 AutoLayout에서 따뜻한 손 계산으로 하면 성능이 9.26배로 된 이야기이 기사는 의 15 일째 기사입니다. 어제는 에서 이었습니다. 손 계산을 권하는 의도는 없고, 특수한 상황하에서 계측한 내용입니다 화면 높이의 10 배 정도의 contentView가있는 UIScrollView 레이아...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.