Каков наилучший способ отображения большого количества RichText (в формате HTML)
В настоящий момент я работаю над приложением для форума. Как и следовало ожидать, в сообщениях на сайте есть много форматирования HTML, списки, изображения жирный текст, цветной текст и т.д.
Теперь есть несколько вариантов, о которых я могу думать (не идеальный, пожалуйста, если вы думаете о других опциях, разместите их в комментариях):
-
Пользовательские ячейки, используя NSAttributedString + HTML + DTAttributedTextView для каждого сообщения?
Проблемы. Я использовал категории NSAttributedString + HTML в приложении в другом месте, и это было не так идеально, создание NSAttributedString кажется довольно дорогостоящим (медленным) даже в небольших количествах. Для 10+ сообщений, каждая из которых может быть длиной целой статьи, будет ужасной
+, хотя DTAttributedTextView поддерживает тег IMG html (большинство тегов), он не поддерживает удаленную загрузку изображений, если вы не укажете их ширину и высоту в теге img. И для форума, где тег IMG может быть смайликом (10 * 10) или скриншотом (640 * 960), нет способа предсказать это.(Начиная с написания этого NSAttributedString + HTML, который теперь переименован в DTCoreText, добавлена полная поддержка тегов<img>
и значительно улучшена!) -
Пользовательские ячейки с UIWebView в них для каждого сообщения?
Этот вопрос я рассмотрел довольно долго, однако, читая этот пост в блоге, я понял проблему, которая вызовет Smooth-прокрутку. Идея иметь собственное приложение для сайта заключается в том, что лучше использовать простой UIWebView для просмотра мобильной темы сайтов. Если приложение отстает и дергается при прокрутке, что хуже не лучше (также, поскольку мне нужно отображать изображения, скрывающие веб-представление, как он предлагает, не будет работать). Также необходимо создать UIWebView в основном потоке или сломаться.
-
Вернуться к UIWebView? Раздражающе, кроме тщеславия, (например, в iFans app), где вы только показываете текст, а затем, если он нажмет на него, UIWebView загрузит все хорошие изображения и т.д., единственный вариант, который, кажется, должен делать то, что я думаю, что приложение TapaTalk делает и имеет весь поток в виде UIWebView. Это не является слишком плохой, поскольку он, вероятно, будет иметь неплохую производительность и позволит мне добавлять темы, контролируемые пользователями, и т.д., Но я нахожу идею использования UIWebView в приложении для веб-сайтов отталкивающим.
Есть ли у кого-нибудь опыт создания веб-приложения, такого как, возможно, клиент facebook, приложение для форума или новое приложение для сайта, которое должно было отображать контент с сайта (я действительно не считаю клиента Twitter, поскольку он только должен иметь дело с текстом и ссылками в небольших количествах за сообщение). Или какие-либо идеи о наилучшем способе отображения содержимого RichText в приложении iOS?
Любая идея должна иметь дело с лотом:
- Многоцветный текст.
- Текст вправо, влево и в центре.
- Изображения (с переменным размером).
- Полужирный текст.
- Текст разных размеров и шрифтов.
- Подчеркивает текст.
- Видео YouTube.
- HTML-таблицы.
На всякий случай реальный вопрос был не очень ясен во всем этом, я подведу итог:
" Каков наилучший способ отображения большого количества содержимого RichText (HTML-форматирование) для клиентского приложения форума"