Эффективный одновременный рендеринг многострочных текстов в iOS/OSX

В холстоподобном UIScrollview, который включает в себя функцию масштабирования, я пытаюсь визуализировать несколько текстовых полей ( 20-100 на больших экранах) со средними 2-3 строками в произвольном шрифте при масштабировании. Редактирование и выбор требуется только при 100% уровне масштабирования. Все еще в настоящее время используется UITextView для всего. Это, кажется, работает в зависимости от оборудования с небольшими задержками (1-2 с 50 текстовыми полями на ipad), но определенно может быть улучшено. Каждый раз, когда тексты отображаются, они могут регулировать размер шрифта и т. Д.

Несколько текстовых полей в UIScrollView

Каков рекомендуемый подход, чтобы справиться с этим? Я попробовал:

  1. SpriteKit: очень громоздкий для работы с многострочным текстом и сложный, когда дело доходит до выделения в некоторых точках. Не очень хорошо с окружающей средой UIKit
  2. UILabel: никаких существенных улучшений в UITextView по скорости
  3. CATextLayer: также громоздкий с многострочным. Все еще значительный вариант (?)

Вещи, на которые стоит обратить внимание (?):

  1. CoreText: может ли это значительно улучшить производительность?
  2. UIStringDrawing: совместимо ли это с UIViews и точным позиционированием в иерархии большего представления?

Любые другие предложения, чтобы заставить его играть хорошо? Для Web нам удалось реализовать этот вид рендеринга текста, используя холст HTML5, который проходит довольно гладко.

0 ответов

Другие вопросы по тегам