rotate iphone ios scaling cgaffinetransform

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)];