Sto cercando di eseguire la ripetizione automatica dell'animazione di rotazione dell'immagine con CABasicAnimation. Ho provato a cercare sul Web come impostare tale proprietà, ma non è stato in grado di trovarlo. Non è davvero una proprietà simile per l'animazione della CA? So che è possibile impostare un valore enorme (here) per ripetere la proprietà Conteggio ma, ehi, perché Uiview animateWithDuration ha un'opzione UIViewAnimationOptionRepeat e qual è il valore per esso hardcoded?CABasicRegistrazione illimitata senza HUGE_VALF?
risposta
No, questo è il modo in cui si suppone di farlo in base a the documentation.
L'impostazione di questa proprietà su
HUGE_VALF
farà ripetere l'animazione per sempre.
Aggiornamento per Swift:
HUGE_VALF non sia esposto a Swift. Tuttavia, la mia comprensione da this page è che HUGE_VALF deve essere infinito (infatti, INFINITY
è definito come HUGE_VALF
). Dal momento che il protocollo di Swift FloatingPointType
fornisce un static var infinity
, si può semplicemente scrivere
myAnimation.repeatCount = .infinity
in iOS 7 e versioni successive, si interrompe dopo un determinato intervallo. Non è chiaro quale sia il motivo. –
'Float.infinity' in Swift. I documenti refertati menzionano 'HUGE_VALF' ma non dicono come esprimere lo stesso in Swift. –
per SWIFT 3.0 e versioni successive
let rotationAnimation = CABasicAnimation(keyPath: "transform.rotation.z")
rotationAnimation.fromValue = 0
rotationAnimation.toValue = CGFloat.pi * 2
rotationAnimation.duration = 1
rotationAnimation.repeatCount = .infinity
holderView.btnRefresh.layer.add(rotationAnimation, forKey: "spinAnimation")
Il valore è '1e50', in' math.h'. – bcattle
In XCode ⌘-clic per andare alla definizione di qualcosa. – bcattle