大佬教程收集整理的这篇文章主要介绍了iphone – 我如何欺骗[CALayer renderInContext:]只渲染图层的一部分?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想要渲染的部分视图是不能预先确定的,这意味着我不能将小部分的视图层次结构设置为自己的UIView(因此是CALayer).
我的想法…
我有一个想法,但如果我要成功,我需要一些方向.如果我在UIView(或CALayer)上创建一个类别,添加一个方法:
[UIView renderSubframe:(CGFramE)frame];
怎么样?嗯,我在想,如果一个虚拟的视图创建了子框架的大小,那么视图可能暂时移到这个.然后,虚拟视图的图层可以调用renderInContext:,从而实现高效,快速的获取视图.
所以…
我真的不是速度与CALayer / Quartz核心的东西…这将有机会工作吗?如果没有,我可以实现什么样的另一种方式 – 最有效的方法是达到同样的效果(或者还有其他人已经面临这个问题并提出了不同的@L_772_15@案)?
@H_674_2@
#import "UIView+RenderSubframe.h" #import <QuartzCore/QuartzCore.h> @implementation UIView (RenderSubframE) - (UIImage *) renderWithBounds:(CGRect)frame { CGSize imageSize = frame.size; UIGraphicsBeginImageContextWithOptions(imageSize,NO,0.0); CGContextRef c = UIGraphicsGetCurrentContext(); CGContextConcatCTM(c,CGAffineTransformMakeTranslation(-frame.origin.x,-frame.origin.y)); [self.layer renderInContext:c]; UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return screenshot; } @end@H_674_2@ @H_674_2@
以上是大佬教程为你收集整理的iphone – 我如何欺骗[CALayer renderInContext:]只渲染图层的一部分?全部内容,希望文章能够帮你解决iphone – 我如何欺骗[CALayer renderInContext:]只渲染图层的一部分?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。