如何更快地截取 UIView 截图?
Posted
技术标签:
【中文标题】如何更快地截取 UIView 截图?【英文标题】:how to take a UIView screenshot faster? 【发布时间】:2013-10-07 06:38:15 【问题描述】:我正在制作一个字典应用程序,它允许用户通过触摸屏幕中的单词来查找单词定义,屏幕上会出现一个放大镜并跟随用户的手指。我已经通过截取视图并将图像分配给maginifer图像视图来实现它,这是一个UIImageView,但是,为了截取屏幕截图,方法[self.layer renderInContext:c];
花费了太多时间,有没有其他方法可以做它?也许 openGL 会有所帮助?
在使用instruments->core动画分析我的应用程序后,显示放大镜只有9 fps,但如果在UITextView中显示系统默认放大镜则为30 fps,我不知道为什么系统这么快
【问题讨论】:
【参考方案1】:您可以在放大镜视图中使用完全相同的视图,并将位置更改为可见的单词。
【讨论】:
有一个问题,如果我需要将maginifer中的视图放大,我需要设置view.transform,但是原视图也会受到影响 您必须使用原始视图的副本。 但 UIView 不支持复制方式 yourNewView=previewousView.【参考方案2】:有new methods in ios 7 高度优化:
– snapshotViewAfterScreenUpdates:
– resizableSnapshotViewFromRect:afterScreenUpdates:withCapInsets:
– drawViewHierarchyInRect:afterScreenUpdates:
但是它们在以前的版本中不可用。
【讨论】:
以上是关于如何更快地截取 UIView 截图?的主要内容,如果未能解决你的问题,请参考以下文章