【问题标题】:how to take a UIView screenshot faster?如何更快地截取 UIView 截图?
【发布时间】:2013-10-07 06:38:15
【问题描述】:

我正在制作一个字典应用程序,它允许用户通过触摸屏幕中的单词来查找单词定义,屏幕上会出现一个放大镜并跟随用户的手指。我已经通过截取视图并将图像分配给maginifer图像视图来实现它,这是一个UIImageView,但是,为了截取屏幕截图,方法[self.layer renderInContext:c];花费了太多时间,有没有其他方法可以做它?也许 openGL 会有所帮助?

在使用instruments->core动画分析我的应用程序后,显示放大镜只有9 fps,但如果在UITextView中显示系统默认放大镜则为30 fps,我不知道为什么系统这么快

【问题讨论】:

    标签: ios ios6 uiview ios7 calayer


    【解决方案1】:

    您可以在放大镜视图中使用完全相同的视图,并将位置更改为可见的单词。

    【讨论】:

    • 有一个问题,如果我需要将maginifer中的视图放大,我需要设置view.transform,但是原视图也会受到影响
    • 您必须使用原始视图的副本。
    • 但 UIView 不支持复制方式
    • yourNewView=previewousView.
    【解决方案2】:

    new methods in iOS 7 高度优化:

    – snapshotViewAfterScreenUpdates:
    – resizableSnapshotViewFromRect:afterScreenUpdates:withCapInsets:
    – drawViewHierarchyInRect:afterScreenUpdates:
    

    但是它们在以前的版本中不可用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      • 2011-07-22
      • 2011-02-24
      • 1970-01-01
      • 1970-01-01
      • 2014-12-23
      相关资源
      最近更新 更多