我需要捕获UIScrollView中的大UIView的一部分。
我使用CALayer的方法renderInContext:
已有两年多了。
即使该方法无法渲染特殊对象(如MapView),99%的时间它也足以满足我的需求。
但是对于iOS7,许多组件的渲染完全是错误的(并且在最新版本的iOS 7.1中变得更糟)。
所以我想使用似乎更专注于它的新方法,比如UIView的drawViewHierarchyInRect:afterScreenUpdates
。
不幸的是,我无法让它在真实设备上运行,它会渲染黑色图像(空白内容)。 它只是在模拟器(视网膜或非视网膜)上工作,而且 - 我认为 - 在非视网膜真实设备上(我已经在第一代iPad mini上测试过)... 总结一下:
Here you can find a simple Xcode project that is showing the issue.
在模拟器上运行,然后在真实(视网膜)设备上运行,以查看差异和问题。
我在这篇帖子的末尾附上了两个截图,显示了这一点。左侧图像使用renderInContext:
方法显示结果,右侧显示drawViewHierarchyInRect:afterScreenUpdates
方法结果。
我现在已经很久了! 我甚至通过苹果DTS请求了帮助,这被拒绝说这听起来像是一个苹果虫,我应该填写一份错误报告(我已经做了很长时间了)。
如果你有任何想法,评论等......我会非常感激。
由于