iOS:在屏幕上镜像内容

我想知道是否有可能在同一个设备中翻转一个UIView的内容; 不是指外部显示器,而是指设备本身。

我已经search了一下谷歌,但我能find的是外部屏幕。

您可以使用具有负值的CGAffineTransformMakeScale。 喜欢:

 CGAffineTransformMakeScale(1.0, -1.0); 

这可以通过以下方式应用在视图上:

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

要么

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

CGAffineTransform是你的朋友在这里。 下面是一些简化的示例代码,从Xcode模板UIViewController中获取,以便将UILabel添加到它的视图并使该视图成为镜像。 镜像只是一个负面的规模的副作用。 你可以用CGAffineTransform方法做各种事情,不仅限于规模。

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