我正在尝试从CGContext创建一个UIImageView但是 - 出于某种原因 - 我的iPad版本上的图像略微偏离目标(但不是iPhone!)。 我正在传递textview本身(尝试传递UIView层...)。 我已经包含了一个viewImage看起来像的图片。显然,我希望图像由整个正方形组成,“在这里看到你的翻转文本(完成后)”完全封闭......
有什么想法吗?!
这是我的代码:
-(UIImage *)getImage:(UITextView *)v
{
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {
UIGraphicsBeginImageContextWithOptions([v frame].size, NO, [UIScreen mainScreen].scale);
} else {
UIGraphicsBeginImageContext([v frame].size);
}
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(context, -v.frame.origin.x, -v.frame.origin.y);
CGContextSaveGState(context);
[[self.view layer] renderInContext:context];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return viewImage;
}
这是从上下文渲染的UIImage(帧原点的x,y坐标似乎很好......)
View Controller可能出错吗?我认为我的设置不正常......
这就是我想要返回的UIImage(或多或少):
答案 0 :(得分:1)
好像您的视图v嵌入在另一个视图中 - 在这种情况下,您正在从错误的图层拍摄快照。 2个选项: 1.将要拍摄快照的图层的视图更改为v的superview(父级)。 2.将视图v移到外面,使其父视图为self.view。
干杯!