Счетчик повторов CAAnimation -1? как я могу сделать мой CAKeyframeAnimation бесконечным числом повторений? Я попробовал animation.repeatCount = -1;, но он повторяется только один раз. Ответ 1 Попробуйте animation.repeatCount = HUGE_VALF; Ответ 2 Вы также можете использовать animation.repeatCount = INFINITY; Это точно так же, как HUGE_VALF, но я предпочитаю INFINITY, поскольку он говорит сам по себе. Ответ 3 Из документации для протокола CAMediaTiming: Установка этого свойства в значение HUGE_VALF приведет к повторному воспроизведению анимации. Ответ 4 Просто перейдите к определению! Не важно, что это будет: либо HUGE_VALF, либо INFINITY. Потому что: (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 и, наконец, (согласно math.c): /* FUNCTION: __builtin_huge_valf */ inline float __builtin_huge_valf(void) { return 1.0f/0.0f; } Итак, каждый вариант будет в порядке: animation.repeatCount = INFINITY; animation.repeatCount = HUGE_VALF; animation.repeatCount = __builtin_huge_valf(); animation.repeatCount = 1.0f/0.0f; Ответ 5 В Swift я использую следующий код: let animation = CATransition() animation.repeatCount = Float.infinity
Ответ 2 Вы также можете использовать animation.repeatCount = INFINITY; Это точно так же, как HUGE_VALF, но я предпочитаю INFINITY, поскольку он говорит сам по себе.
Ответ 3 Из документации для протокола CAMediaTiming: Установка этого свойства в значение HUGE_VALF приведет к повторному воспроизведению анимации.
Ответ 4 Просто перейдите к определению! Не важно, что это будет: либо HUGE_VALF, либо INFINITY. Потому что: (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 и, наконец, (согласно math.c): /* FUNCTION: __builtin_huge_valf */ inline float __builtin_huge_valf(void) { return 1.0f/0.0f; } Итак, каждый вариант будет в порядке: animation.repeatCount = INFINITY; animation.repeatCount = HUGE_VALF; animation.repeatCount = __builtin_huge_valf(); animation.repeatCount = 1.0f/0.0f;
Ответ 5 В Swift я использую следующий код: let animation = CATransition() animation.repeatCount = Float.infinity