iOS: Mirror content on screen iOS: Mirror content on screen objective-c objective-c

iOS: Mirror content on screen


You can use CGAffineTransformMakeScale with negative values.Like:

CGAffineTransformMakeScale(1.0, -1.0);

This can be applied on the view by:

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

or

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


CGAffineTransform is your friend here. Here's some simplified sample code taken form an Xcode Template UIViewController to add a UILabel to a it's view and have that view mirrored. The mirroring is just a side affect of a negative scale. You can do all sorts of things with CGAffineTransform methods, not just limited to scale.

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