UIWebView: отслеживание обновлений экрана (грязные регионы)

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

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

2 Solutions collect form web for “UIWebView: отслеживание обновлений экрана (грязные регионы)”

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

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

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

  • Загрузка изображения в локальный HTML-файл - UIWebView
  • Загрузить фотографию с помощью UIWebView
  • Отображение нескольких PPT в одном интерфейсе UIWebView на iPhone
  • Xcode 8, iOS 10 - «Запуск регистрации WebFilter для процесса»
  • SendDelegateMessage не смог вернуться после ожидания 10 секунд
  • Как сохранить PDF-файл, отображаемый в элементе управления UIWebview (БЕЗ перезагрузки его из сети)?
  • Поддержка Docx в UIWebview (iOS)?
  • Прикоснитесь к подзону (UIWebView)
  • Есть ли лучший способ глубоко скопировать UIWebView?
  • ios - UIWebView DidFinishLoad не вызывается
  • Проблема с созданием Webview и Button на каждом iCarousal View
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.