我在UITextView
中显示HTML的原因有很多,我不会介绍,但这基本上是目前唯一对我有用的方法。
简而言之,我将HTML字符串插入到我设计的HTML模板中,然后将整个HTML字符串作为UITextView
加载到NSAttributedString
中,并初始化使用data:options:documentAttributes
,将[NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType]
传递给options
。
这是我正在使用的当前HTML模板:
<!DOCTYPE html>
<html>
<title>Answer</title>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<style>
html { -webkit-test-size-adjust: none; }
body { margin: 0px; padding:0px; font-family: -apple-system, 'HelveticaNeue'; font-size:{{fontSize}}px; color:{{textColor}}; }
b, strong { font-weight: 600; }
a { text-decoration: none; color: #0074B4; }
a:active { color: #004C75; }
ul { padding-left: 100px; }
li { list-style-position: outside; }
</style>
</head>
<body>
{{bodyContent}}
</body>
</html>
我想要显示的实际HTML字符串最终在{{bodyContent}}
中,而其他一些属性则填充用双括号包装的其他变量。问题似乎是,一旦在UITextView
中呈现HTML,我的填充/边距更改似乎都没有对HTML产生任何影响。
有人知道如何在UITextView
呈现完成的NSAttributedString
后显示这些填充/边距更改吗?