1

我有一个600x600uiimageviewuitexview一个 200x200 uiview 加载。

我想将其导出uiview为 600x600,与uiimageview大小相同。

但是,如果我使用下面的代码,我只能生成 400x400 的大小,即uiview.

有什么代码可以实现吗?

UIGraphicsBeginImageContextWithOptions(outputView.bounds.size, outputView.opaque, 2);
[outputView.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage *img = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();
4

2 回答 2

1

您是否尝试过将视图的边界更改为您需要的?

outputView.bounds = CGRectMake(0,0,600,600);
UIGraphicsBeginImageContextWithOptions(outputView.bounds.size, outputView.opaque, 2);     [outputView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
outputView.bound = ... original bounds here ...

如果内部视图设置为自动调整大小,这应该可以无缝工作。否则,您也可以更改内部视图的框架。

于 2012-10-10T15:53:14.923 回答
0

您可以使用 AliSoftware 的UIImage 类别来调整它的大小

于 2012-10-10T15:24:45.907 回答