У меня есть приложение, которое позволяет пользователю манипулировать такими элементами, как текст, изображения, фигуры (векторные изображения). Они накладываются друг на друга, как слои в Photoshop.
Чтобы манипулировать средствами для перевода, изменения размера, поворота.
Я использую drawInRect
, чтобы нарисовать все мои предметы. К сожалению, при рисовании изображений я вижу очень низкую производительность - это вывод после проверки кода с помощью профилировщика.
Из того, что я читал в Интернете, люди рекомендуют использовать отдельный UIView
(UIImageView
) для всего изображения и обычный drawInRect
для других элементов в отдельном представлении.
Но такой подход был бы проблематичным, потому что у меня может быть такая ситуация:
- 2 слоя сзади с текстом
- 1 слой с изображением - препятствующая часть текста
- 2 слоя спереди с текстом сверху изображения
Это означало бы, что мне нужно будет сделать UIView
для первых 2 текстовых слоев, UIImageView
для среднего изображения и еще UIView
для передних элементов. Это кажется неразумным.
Как повысить производительность рисования моего изображения?
Кроме того, имейте в виду, что мне нужно экспортировать все это в определенный конечный размер изображения.
ПРИМЕЧАНИЕ: где я упоминаю слой, я не имею в виду CALayer
.