Шрифт Html в UITextViewIOS

Программируем под IOS
Ответить
Anonymous
 Шрифт Html в UITextView

Сообщение Anonymous »

Пожалуйста, не делайте этот дубликат, потому что я искал ответ и не нашел его.
У меня есть строка из API, содержащая HTML.
/>В этом HTML-коде есть текст со шрифтом и его стилем, гипертекст или несколько изображений и изображения.
Я показал их все в UITextView, но проблема в том, что я этого не сделал. Не могу найти, как получить текст с тем же стилем и шрифтом в HTML.
Например, если текст italien или strong, я не могу найти способ показать это.
Я хочу сохранить тот же стиль, что и в HTML-коде, отправленном в JSON в виде строки.
Вот мой код:
struct HTMLFormattedText: UIViewRepresentable {

let text: String
private let textView = UITextView()

init(_ content: String) {
self.text = content
}

func makeUIView(context: UIViewRepresentableContext) -> UITextView {
textView.dataDetectorTypes = UIDataDetectorTypes.all
textView.textColor = .white
textView.backgroundColor = .clear
textView.isSelectable = true
textView.isEditable = false
textView.isUserInteractionEnabled = true
textView.translatesAutoresizingMaskIntoConstraints = false
textView.linkTextAttributes = [.foregroundColor: UIColor.white]
textView.isScrollEnabled = false
self.updateUIView(textView, context: context)
return textView
}

func updateUIView(_ uiView: UITextView, context: UIViewRepresentableContext) {
if let attributeText = self.converHTML(text: text) {
textView.attributedText = attributeText
textView.font = UIFont(name: MainFont.semibold.font, size: 14)
textView.textColor = .white
} else {
textView.text = K.emptyString
}

}

private func converHTML(text: String) -> NSAttributedString?{
guard let data = text.data(using: String.Encoding.utf16, allowLossyConversion: false) else {
return nil
}

if let attributedString = try? NSAttributedString(data: data, options: [.documentType: NSAttributedString.DocumentType.html], documentAttributes: nil) {
textView.textColor = .white
return attributedString
} else{
return nil
}
}

}


Подробнее здесь: https://stackoverflow.com/questions/786 ... uitextview
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»