Мне нужно зеркалировать UIWebView CALayers на меньший CALayer. Меньший CALayer по сути является пиком большего UIWebView. Мне трудно это сделать. Единственное, что подходит близко, это CAReplicatorLayer, но с учетом оригинала, и копия должна иметь CAReplicatorLayer в качестве родителя, я не могу разбить оригинал и скопировать на разных экранах.
Иллюстрация того, что я пытаюсь сделать:
Пользователь должен иметь возможность взаимодействовать с меньшим CALayer, и оба должны синхронизироваться.
Я попытался сделать это с помощью renderInContext и CADisplayLink. К сожалению, есть некоторое отставание/заикание, потому что он пытается перерисовать каждый кадр 60 раз в секунду. Мне нужен способ сделать зеркалирование без повторного рисования на каждом кадре, если только что-то не изменилось. Поэтому мне нужно знать, когда загрязнится CALayer (или CALayers).
Я не могу просто иметь два UIWebView, потому что две страницы могут быть разными (время выключено, другой фон и т.д.). У меня нет контроля над отображаемой веб-страницей. Я также не могу отобразить весь экран iPad, так как на экране есть другие элементы, которые не должны отображаться на внешнем экране.
Оба более крупных CALayer и меньший "pip" CALayer должны четко соответствовать кадру для кадра в iOS 6. Мне не нужно поддерживать более ранние версии.
Решение должно быть приемлемым для приложений.