UIView: cómo "reiniciar" las transformaciones. CGAffineTransformScale no funciona como era de esperar

Creo que mi pregunta se puede resumir en cómo almacenar y restablecer la transformación de una vista. Pero tal vez explicar mi situación podría ayudar.

Si aplico las transformaciones a continuación a una vista, una tras otra (como si agrego este código a un interruptor o un button). Obtengo exactamente el resultado que esperaba: la escala cambia entre: una vista que es .55 veces el tamaño de la vista original y la vista en su escala original. Funciona para escalar sub-vistas de someView también, tal como lo deseo. Indefinidamente. Perfecto.

//tranformScale 1 someView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.55, 0.55 ); //tranformScale 2 someView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.0, 1.0 ); 

El problema es que quiero usar este código (o similar) para escalar una sub-vista de self.view cuando un dispositivo iOS entra en paisaje, para adaptarse a la vista secundaria a la pantalla de paisaje (y hacer una copy de security cuando está en retrato). Casi funciona, pero por alguna razón, en lugar de generar valores de valores networkingondos para el marco de la vista que se está escalando (como sucede con una testing con un button para llamar a las transformaciones), se producen valores progresivamente extraños. Eventualmente, después de aproximadamente 4 rotaciones, la vista secundaria desaparece de la pantalla. Sospecho que tiene que ver con la forma de uno mismo. Cambie de forma, pero una vez más, cuando registre el marco de sí mismo. La forma en que se ve es muy pnetworkingecible.

Por cierto , estoy centrando la vista utilizando márgenes flexibles de autorizarMáscara flexible, sin utilizar el layout automático. ¿Quizás debería centrar la vista con otro tipo de cálculo?

¡Gracias por leer!

(1) asegúrese de no establecer ni get ningún dato de ttwig después de aplicar transformaciones, no está soportado y producirá resultados impnetworkingecibles;

(2) apague los márgenes de flexión de la máscara de autorisación y centre de la siguiente manera:

  view.center = CGPointMake(view.superview.bounds.size.width/2, view.superview.bounds.size.height/2); 

(tenga cuidado de aplicar centrado mientras que la vista es a tamaño completo. es decir, ANTES de la transformación si es la transformación de cambio de tamaño, DESPUÉS de la transformación si es la transformación de identidad)

Hice esto y funcionó perfecto.

 self.imageview.transform = CGAffineTransformIdentity