将uiview保存为指定大小

时间:2012-10-10 15:20:35

标签: objective-c uiview uiimageview retina-display

我有一个uiimageview 600x600和一个uitexview加载到200x200 uiview中。

我想将此uiview导出为600x600,与uiimageview尺寸相同。

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

我能用这个代码吗?

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

UIImage *img = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

2 个答案:

答案 0 :(得分: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 ...

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

答案 1 :(得分:0)

您可以使用AliSoftware的UIImage category来调整大小