2015-09-04 55 views
0

我有一个UIView,使用自动布局在超级视图上进行设置,其子视图也是通过自动布局设置的。 我希望能够调整视图大小以将其调整大小的内容捕捉到UIImage,同时保持屏幕上显示的视图具有相同的大小。复制UIView并调整其大小以捕获内容

我知道我可以使用:

UIGraphicsBeginImageContextWithOptions(myView.bounds.size, NO, 0.0); 
[myView.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *viewImg = UIGraphicsGetImageFromCurrentImageContext(); 

从视图中获取图像,

但如何调整只查看拍摄内容,而离开它触及上显示?

由于

EDIT为了清楚

我希望能够增加视图的宽度,改变视图的纵横比,从而允许自动布局约束到它的子视图安排其新的尺寸。

是否可以简单地复制视图,不要将其添加为主窗口的子视图(因此它不可见)并更改其框架,然后捕获它?

回答

0

我创建了视图控制器的第二个实例,并使用与原始属性相同的属性进行设置,但大小不同。我还必须将新视图添加为子视图,通过UIGraphicsGetImageFromCurrentImageContext()捕获其内容,然后从子视图中删除视图。

这似乎不是一个非常有效的解决方案,并且知道是否有更好的方法来做到这一点会很有趣。

相关问题