Основной текст для отображения содержимого HTML


Мне было интересно, есть ли способ отображать html-контент с использованием основного текста, потому что обычный UIWebView загружается чертовски медленно.

У меня самые основные потребности:
- чтение тегов p
- чтение тегов span
- использование цветов< br> — с использованием шрифтов и размеров

это все.

большое спасибо!
к


person holographix    schedule 14.02.2011    source источник


Ответы (3)


хорошо, я решил это немного хитрым способом.
Я реализовал HTMLParser для извлечения символов, которые мне нужно было отформатировать другим способом. чем я приступил к использованию строки в Core-Text.

мои ссылки были

[HTMLParser] https://github.com/zootreeves/Objective-C-HMTL-Parser
помните, что у этого есть проблема с разбором двух тегов один за другим
(например, ‹ p >‹ span >... ‹ /span >‹ /p >)

[кикстарт для CoreText] https://github.com/jonasschnelli/I7CoreTextExample

person holographix    schedule 15.02.2011
comment
Согласно вашей инструкции, он работает нормально, но здесь у меня есть файл epub, в котором есть куча html-файлов, как я могу загрузить его в это, не могли бы вы мне помочь? - person dineshprasanna; 19.03.2013
comment
как вам удалось отобразить изображения и проверить каталог css и сопоставить стили? - person Arunavh Krishnan; 17.02.2015

См. этот проект с открытым исходным кодом: https://github.com/Cocoanetics/DTCoreText.

Это не поможет вам отобразить атрибутированную строку с основным текстом, но поможет преобразовать HTML в NSAttributedString.

person Ole Begemann    schedule 14.02.2011

На этот вопрос уже ответили лучше здесь:

https://stackoverflow.com/a/18886718/187258

Нет необходимости использовать DTCoreText, если вы ориентируетесь на iOS 7 и выше (что вы уже должны делать).

Вот перепечатка кода в ответе (важный флаг: NSHTMLTextDocumentType):

[[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUTF8StringEncoding] 
                                 options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,
                                           NSCharacterEncodingDocumentAttribute: @(NSUTF8StringEncoding)} 
                      documentAttributes:nil 
                                   error:nil];
person Ben Jackson    schedule 29.04.2014