首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >iOS:屏幕上的镜像内容

iOS:屏幕上的镜像内容
EN

Stack Overflow用户
提问于 2011-12-20 19:57:57
回答 2查看 12.1K关注 0票数 25

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

我在谷歌上搜索了一下,但我能找到的只有外部屏幕。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-20 20:08:21

可以将CGAffineTransformMakeScale与负值一起使用。像这样:

代码语言:javascript
复制
CGAffineTransformMakeScale(1.0, -1.0);

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

代码语言:javascript
复制
//Mirror top to bottom
view.transform = CGAffineTransformMakeScale(1.0, -1.0);

代码语言:javascript
复制
//Mirror Left to Right
view.transform = CGAffineTransformMakeScale(-1.0, 1.0);
票数 49
EN

Stack Overflow用户

发布于 2011-12-21 09:51:39

CGAffineTransform是你的朋友。下面是一些取自Xcode模板UIViewController简化示例代码,用于将UILabel添加到视图并镜像该视图。镜像只是负比例的副作用。您可以使用CGAffineTransform方法做各种事情,而不仅仅限于规模。

代码语言:javascript
复制
- (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];
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8575064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档