Эффективный одновременный рендеринг многострочных текстов в iOS/OSX
В холстоподобном UIScrollview, который включает в себя функцию масштабирования, я пытаюсь визуализировать несколько текстовых полей ( 20-100 на больших экранах) со средними 2-3 строками в произвольном шрифте при масштабировании. Редактирование и выбор требуется только при 100% уровне масштабирования. Все еще в настоящее время используется UITextView для всего. Это, кажется, работает в зависимости от оборудования с небольшими задержками (1-2 с 50 текстовыми полями на ipad), но определенно может быть улучшено. Каждый раз, когда тексты отображаются, они могут регулировать размер шрифта и т. Д.
Каков рекомендуемый подход, чтобы справиться с этим? Я попробовал:
- SpriteKit: очень громоздкий для работы с многострочным текстом и сложный, когда дело доходит до выделения в некоторых точках. Не очень хорошо с окружающей средой UIKit
- UILabel: никаких существенных улучшений в UITextView по скорости
- CATextLayer: также громоздкий с многострочным. Все еще значительный вариант (?)
Вещи, на которые стоит обратить внимание (?):
- CoreText: может ли это значительно улучшить производительность?
- UIStringDrawing: совместимо ли это с UIViews и точным позиционированием в иерархии большего представления?
Любые другие предложения, чтобы заставить его играть хорошо? Для Web нам удалось реализовать этот вид рендеринга текста, используя холст HTML5, который проходит довольно гладко.