UIWebView: отслеживание обновлений экрана (грязные области) - PullRequest
3 голосов
/ 16 мая 2011

Я пытаюсь обнаружить анимации и другие обновления экрана по мере их появления в UIWebView. Я хотел бы получить прямоугольники областей в UIWebView, которые были изменены с момента последнего обновления.

Я думаю, что на самом деле я ищу способ «перехватить» вызовы, которые UIWebView делает для setNeedsDisplayInRect. Есть способ сделать это? Могу ли я каким-то образом создать подкласс базового объекта CALayer в UIWebView таким образом, чтобы я мог перехватывать эти вызовы по мере их поступления из UIWebView?

Ответы [ 2 ]

0 голосов
/ 19 июля 2012

Используйте категорию Objective-C (@implementation CALayer (MyCALayer)) - как вы уже делаете на основе своего обновления - чтобы перехватывать вызовы, идущие из UIWebView в CALayer.

Затем используйте Метод Swizzling , чтобы передать переопределения вашей категории исходному объекту CALayer.

0 голосов
/ 22 августа 2011

Нет хорошего способа сделать это.Вы можете попробовать получить снимок CALayer UIWebView и сравнить его с предыдущим снимком, но у меня было много проблем с получением надежных снимков UIWebView.

...