UIWebView:跟踪屏幕更新(脏区)

时间:2011-05-16 11:15:45

标签: iphone ios uiview uiwebview calayer

我正在尝试检测UIWebView中发生的动画和其他屏幕更新。我想获得自上次刷新以来修改过的UIWebView区域的矩形。

我认为我正在寻找的是一种“捕获”UIWebView对setNeedsDisplayInRect进行调用的方法。有没有办法做到这一点?我可以以某种方式将UIWebView的底层CALayer对象子类化,以便在从UIWebView进入时捕获这些调用吗?

2 个答案:

答案 0 :(得分:0)

没有好办法。您可以尝试抓取UIWebView的CALayer快照并将其与之前的快照进行比较,但是我在获取UIWebViews的可靠快照时遇到了很多麻烦。

答案 1 :(得分:0)

使用Objective-C类别(@implementation CALayer(MyCALayer)) - 就像你已经根据你的更新做的那样 - 来捕获从UIWebView到CALayer的调用。

然后,使用Method Swizzling将您的类别覆盖转发到原始CALayer对象。