【发布时间】:2013-01-05 11:13:07
【问题描述】:
我很清楚,除了渲染整个视图和裁剪之外,没有很好的方法可以将 UIView 的一小部分渲染到图像上。 (在 iPad 3 之类的设备上非常昂贵,生成的图像很大)。有关 renderInContext 方法的描述,请参见 here(没有其他选择)。
我要渲染的视图部分无法预先确定,这意味着我无法将小部分的视图层次结构设置为它自己的 UIView(因此是 CALayer)。
我的想法...
我有一个想法,但如果我要成功,我需要一些指导。如果我在 UIView(或 CALayer)上创建一个类别,该类别添加一个方法如下:
[UIView renderSubframe:(CGFrame)frame];
怎么样?好吧,我在想,如果创建了一个子框架大小的虚拟视图,那么视图可以暂时转移到这个上。然后虚拟视图的层可以调用 renderInContext:,从而获得一种高效且快速的视图。
所以...
我真的不太了解 CALayer/Quartz 核心的东西……这有可能奏效吗?如果没有,还有什么方法可以达到同样的效果 - 我可以达到相同结果的最有效方法是什么(或者其他人已经面临这个问题并提出不同的解决方案)?
【问题讨论】:
标签: iphone objective-c ios ipad calayer