В настольной OS X это было бы возможно при использовании CIFilter
на CALayer
.Однако согласно документации CALayer :
Хотя класс CALayer предоставляет это свойство, Core Image недоступно в iOS.В настоящее время фильтры, доступные для этого свойства, не определены.
Лучше всего было бы реализовать это самостоятельно, используя фрагментный шейдер OpenGL.Сложнее всего получить доступ к содержимому представления в регионе, который вы хотите преобразовать, в режиме реального времени.
Мне еще предстоит увидеть что-нибудь, работающее с живым (прокручиваемым) контентом на iOS.Все подобные анимации, такие как мусорная корзина Mail.app, анимация страниц, завитки страниц и т. Д. Работают со статическим содержимым (например, представление, отображаемое на изображение только один раз, затем преобразует это изображение).
В настоящее время это возможно только в следующих случаях:
- Визуализация области просмотра изображения через определенный интервал
- Преобразование с помощью шейдера opengl
- Визуализация вывода opengl поверх фактического содержимого.
Поскольку вам придется опрашивать представление, выполнять рендеринг в изображение и отображать его как представление OpenGL, которое охватывает только часть основногоЯ ожидаю, что производительность будет ниже оптимальной.