2011-01-03 7 views

risposta

24

Prova animation.repeatCount = HUGE_VALF;

+8

Float.infinity in Swift –

7

Dalla documentazione per il protocollo CAMediaTiming:

impostazione di questa proprietà HUGE_VALF causerà l'animazione di ripetere sempre.

39

è anche possibile utilizzare

animation.repeatCount = INFINITY; 

Questo è esattamente lo stesso di HUGE_VALF, ma io preferisco INFINITY in quanto parla da sé.

+3

Float.infinity in Swift –

2

Basta andare alla definizione!
Non importa quale sarà: HUGE_VALF o INFINITY.
Perché:

(math.h :)

#if defined(__GNUC__) 
# define HUGE_VAL  __builtin_huge_val() 
# define HUGE_VALF __builtin_huge_valf() 
# define HUGE_VALL __builtin_huge_vall() 
# define NAN   __builtin_nanf("0x7fc00000") 
#else 
# define HUGE_VAL  1e500 
# define HUGE_VALF 1e50f 
# define HUGE_VALL 1e5000L 
# define NAN   __nan() 
#endif 

#define INFINITY HUGE_VALF 

e, infine, (secondo math.c):

/* FUNCTION: __builtin_huge_valf */ 
inline float __builtin_huge_valf(void) { return 1.0f/0.0f; } 

Così ogni opzione sarà ok:

animation.repeatCount = INFINITY; 
animation.repeatCount = HUGE_VALF; 
animation.repeatCount = __builtin_huge_valf(); 
animation.repeatCount = 1.0f/0.0f; 
2

In Swift sto usando il seguente codice:

let animation = CATransition() 
animation.repeatCount = Float.infinity