iphone - rotate - Escale con CGAffineTransform y establezca el ancla
scale view swift (2)
(una)
Escala y luego traduce?
Algo como :
CGAffineTransform t = CGAffineTransformMakeScale(2, 2);
t = CGAffineTransformTranslate(t, width/2, height/2);
self.transform = t;
(segundo)
Establezca el punto de anclaje (que probablemente sea lo que realmente desea)
[self layer].anchorPoint = CGPointMake(0.0f, 0.0f);
self.transform = CGAffineTransformMakeScale(2, 2);
(do)
¿Establecer el centro de nuevo para asegurarse de que está en el mismo lugar?
CGPoint center = self.center;
self.transform = CGAffineTransformMakeScale(2, 2);
self.center = center;
Si entiendo correctamente, escalar una UIView
con CGAffineTransform
ancla la transformación a su centro.
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);
Huellas dactilares:
-50;-50;200;200
¿Cómo se crea una escala CGAffineTransform que utiliza un punto de anclaje específico (por ejemplo, 0; 0)?
Primero #import <QuartzCore/QuartzCore.h>
y luego establezca los puntos de anclaje de su vista:
[[self layer] setAnchorPoint:CGPointMake(0, 0)];