我尝试将带有图像的 HTML 加载到 UITextView,但图像不适合屏幕宽度,它们太大了。 IMG 标签和 CSS 的属性宽度没有帮助:(
代码如下:
var content = "<html><head><meta charset='utf-8'><title>«Первый поворот налево или направо?» Секреты успеха Льюиса Хэмилтона</title><style>img {max-width: '100%'; width: '100%'; height: auto;}body{ color:red }</style></head><body><p>Иногда его превосходство заметно сразу – как в случае с потрясающей скоростью вхождения в первый поворот на Гран При Австралии нынешнего года, а иногда не столь очевидно.</p><p><img src='http://autosport.com.ru/files/feature/2018/06/29/ba7222d642a69863db32ec8e5d2e8b8f.jpg' alt='Льюис Хэмилтон © autosport.com'/>Льюис Хэмилтон</p>"
let htmlData = NSString(string: content).data(using: String.Encoding.unicode.rawValue)
let options = [NSAttributedString.DocumentReadingOptionKey.documentType: NSAttributedString.DocumentType.html]
let attributedString = try! NSAttributedString(data: htmlData!, options: options, documentAttributes: nil)
txtView.attributedText = attributedString
最佳答案
设置 CSS img
为 max-width
, max-height
, width
, height
到 100% 对我有用。
let content: String = "<!DOCTYPE html><html>" +
"<head>" +
"<meta charset='UTF-8'>" +
"<style type='text/css'>" +
"body {" +
"margin: 0;" +
"padding: 0;" +
"}" +
"img{" +
"max-width: 100%;" +
"max-height: 100%;" +
"width: 100%;" +
"height: 100%;" +
"}" +
"</style>" +
"</head>" +
"<body></body></html>"
关于html - 无法通过 NSAttributedString 使 <img> 适合 UITextView/HTML 中的屏幕宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51663862/