smart samsung pantalla lonely espejo duplicar bravia apple airserver ios objective-c uiview cgaffinetransform

ios - samsung - mirroring iphone chromecast



iOS: contenido espejo en pantalla (2)

Puede usar CGAffineTransformMakeScale con valores negativos. Me gusta:

CGAffineTransformMakeScale(1.0, -1.0);

Esto se puede aplicar en la vista por:

//Mirror top to bottom view.transform = CGAffineTransformMakeScale(1.0, -1.0);

o

//Mirror Left to Right view.transform = CGAffineTransformMakeScale(-1.0, 1.0);

Me gustaría saber si es posible voltear el contenido de una UIView dentro del mismo dispositivo; Es decir, no a un monitor externo, sino en el propio dispositivo.

He buscado un poco en google, pero todo lo que puedo encontrar es en pantallas externas.


CGAffineTransform es tu amigo aquí. Aquí hay un código de ejemplo simplificado tomado de una plantilla de Xcode UIViewController para agregar una UILabel a una vista de la misma y tener esa vista reflejada. El reflejo es solo un efecto secundario de una escala negativa. Puede hacer todo tipo de cosas con los métodos de CGAffineTransform , no solo a escala.

- (void)viewDidLoad; { [super viewDidLoad]; UILabel *aLabel = [[UILabel alloc] initWithFrame:CGRectZero]; aLabel.text = @"Sample Text"; [aLabel sizeToFit]; //Add it to the center of our UIViewController''s View CGRect labelFrame = aLabel.frame; labelFrame.origin.x = floorf((CGRectGetWidth(self.view.frame) - CGRectGetWidth(labelFrame)) / 2); labelFrame.origin.y = floorf((CGRectGetHeight(self.view.frame) - CGRectGetHeight(labelFrame)) / 2); aLabel.frame = labelFrame; //Mirror the UILabel left to right aLabel.transform = CGAffineTransformMakeScale(-1.0, 1.0); //OR Mirror the UILabel top to bottom //aLabel.transform = CGAffineTransformMakeScale(1.0, -1.0); [self.view addSubview:aLabel]; [aLabel release]; }