【问题标题】:Save uiview as specified size将uiview保存为指定大小
【发布时间】:2012-10-10 15:20:34
【问题描述】:

我有一个 600x600 的 uiimageview 和一个在 200x200 uiview 中加载的 uitexview

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

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

有什么代码可以实现吗?

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

UIImage *img = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

【问题讨论】:

  • 您是否尝试对 outputView 应用转换?即outputView.transform = CGAffineTransformMakeScale(1.5,1.5);

标签: objective-c uiview uiimageview retina-display


【解决方案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 ...

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

【讨论】:

  • 感谢 outputView 的工作。我已将边界应用于uitextview,但它根本没有改变,知道吗?
  • 我认为如果你想让它更大,你可以缩放文本视图;或者你改变框架和字体大小......
【解决方案2】:

你可以使用阿里软件的UIImage category来调整大小

【讨论】:

    猜你喜欢
    • 2015-05-12
    • 1970-01-01
    • 1970-01-01
    • 2014-09-19
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 2012-11-22
    • 1970-01-01
    相关资源
    最近更新 更多