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