¿Por qué ninguna de mis animaciones se reproduce cuando la vista en la que están se invoca desde un segue modal?

Tengo un montón de animaciones configuradas para repetir que funcionan de maravilla si están en su propio controller de vista al que se empuja, pero si las presento modales (a través de un segue modal desde un button de UIB) de repente ninguno de ellos reproduce.

¿Alguien tiene alguna idea de por qué esto puede ser?

Este es un ejemplo de una animation que se agrega:

UIView *topTapRipple1 = [[UIView alloc] initWithFrame:(CGRectMake(73, 30, 13.0, 13.0))]; topTapRipple1.backgroundColor = [UIColor clearColor]; topTapRipple1.layer.cornerRadius = topTapRipple1.bounds.size.height/2; topTapRipple1.layer.borderColor = [UIColor colorWithRed:0.886 green:0.886 blue:0.886 alpha:1].CGColor; topTapRipple1.layer.borderWidth = 1.0; [self.middleContentView insertSubview:topTapRipple1 belowSubview:self.middle]; 

Donde esa es la vista que se agrega para crear la animation. Pero esa vista ni siquiera se agrega. ¿Por qué es esto?

Aquí hay un proyecto de ejemplo que reproduce el problema: http://cl.ly/2I3J3m0j441a

Dado que está haciendo las animaciones en viewDidLoad , la animation segue no está completa cuando intenta iniciarlas. Intente poner las animaciones en viewDidAppear:

Edición: este tipo de animation idealmente se haría con CAAnimation y CALayer . Crear y agregar todas esas subvenciones parece una exageración.