Si entiendo correctamente escalar un UIView
con CGAffineTransform
, ancla la transformación a su centro.Escala con CGAffineTransform y establece el ancla
En particular:
self.frame = CGRectMake(0,0,100,100);
self.transform = CGAffineTransformMakeScale(2, 2);
NSLog(@"%f;%f;%f;%f", self.frame.origin.x, self.frame.origin.y, self.frame.size.width, self.frame.size.height);
Lienzo:
-50;-50;200;200
¿Cómo se crea una escala CGAffineTransform que utiliza un punto de anclaje específico (por ejemplo 0; 0)?
Es raro, estoy en iOS 7 y no escala del centro, pero a partir de escalas la parte superior izquierda ... Incluso si ajusto el punto de anclaje a (0.5, 0.5), no se escalará desde el centro. Alguien tiene una idea? –
@VanDuTran Encontré que el uso de 'CATransform3D' en la' capa' de la vista se comporta correctamente y obedece a 'anchorPoint'. Pruébelo en lugar de usar 'CGAffineTransformMakeScale', que de alguna manera restringe la vista a los límites superior e izquierdo de la ventana. –
@JonathanLin Uso capa con CATransform3D que también sin suerte en iOS 7 – ZYiOS