我想知道是否有可能在同一设备内翻转UIView
的内容;这意味着不是外部显示器,而是设备本身。
我在谷歌上搜索了一下,但我能找到的只有外部屏幕。
发布于 2011-12-20 20:08:21
可以将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);
发布于 2011-12-21 09:51:39
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];
}
https://stackoverflow.com/questions/8575064
复制相似问题