我正在尝试检测UIWebView中发生的动画和其他屏幕更新。我想获得自上次刷新以来修改过的UIWebView区域的矩形。
我认为我正在寻找的是一种“捕获”UIWebView对setNeedsDisplayInRect进行调用的方法。有没有办法做到这一点?我可以以某种方式将UIWebView的底层CALayer对象子类化,以便在从UIWebView进入时捕获这些调用吗?
答案 0 :(得分:0)
没有好办法。您可以尝试抓取UIWebView的CALayer快照并将其与之前的快照进行比较,但是我在获取UIWebViews的可靠快照时遇到了很多麻烦。
答案 1 :(得分:0)
使用Objective-C类别(@implementation CALayer(MyCALayer)) - 就像你已经根据你的更新做的那样 - 来捕获从UIWebView到CALayer的调用。
然后,使用Method Swizzling将您的类别覆盖转发到原始CALayer对象。