- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 DTCoreText 创建 HTML 属性字符串。 DTCoreText 返回的属性字符串有一个名为“CTForegroundColor”的属性,其中包含文本颜色信息。当我在 UI 上显示文本时,它与属性中提到的颜色不同。如果我使用苹果的标准方法,那么它工作正常。
代码片段:
<强>1。使用 DTCoreText 时
let stringBuilder : DTHTMLAttributedStringBuilder = DTHTMLAttributedStringBuilder.init(html: encodedData, options: nil, documentAttributes: nil)
return stringBuilder.generatedAttributedString()!
输入字符串:
"<style>body{font-family: \'Helvetica\'; font-size:22.000000px;}</style><font color = \"#EB1D1D\">Earn Instantly!</font>"
输出属性字符串:
立即赚钱!{ CTForegroundColor = "[ (kCGColorSpaceICCBased; kCGColorSpaceModelRGB; sRGB IEC61966-2.1; 扩展范围)] ( 0.921569 0.113725 0.113725 1 )"; NSFont = "font-family:\"Helvetica\"; font-weight: normal; font-style: normal; font-size: 22.00pt"; NSParagraphStyle = "{基本书写方向=-1,对齐=4,换行方式=0,默认tab间隔=36\n首行首缩=0,首缩=0,尾缩=0\n行高倍数=0,最大行高=0,最小行高=0\n行间距调整=0,段落间距=0,段落前间距=0\n}";
<强>2。使用 Apple 的标准方法时:
return try NSAttributedString(data: encodedData,
options: [.documentType: NSAttributedString.DocumentType.html,
.characterEncoding: String.Encoding.utf8.rawValue],
documentAttributes: nil)
输出属性字符串:
立即赚钱!{ NSColor = "kCGColorSpaceModelRGB 0.921569 0.113725 0.113725 1 "; NSFont = "font-family:\"Helvetica\"; font-weight: normal; font-style: normal; font-size: 22.00pt"; NSKern = 0; NSParagraphStyle = "Alignment 4, LineSpacing 0, ParagraphSpacing 0, ParagraphSpacingBefore 0, HeadIndent 0, TailIndent 0, FirstLineHeadIndent 0, LineHeight 27/0, LineHeightMultiple 0, LineBreakMode 0, Tabs (\n), DefaultTabInterval 36, Blocks (\n),列表 (\n), BaseWritingDirection 0, HyphenationFactor 0, TighteningForTruncation NO, HeaderLevel 0"; NSStrokeColor = "kCGColorSpaceModelRGB 0.921569 0.113725 0.113725 1 "; NSStrokeWidth = 0;
因为我在使用 Apple 的标准方法时遇到了太多的崩溃,所以我想转移到 DTCoreText。
最佳答案
将以下代码添加到选项参数有效!!
let options = [DTUseiOS6Attributes : true] as [String : Any]
原因是将上述属性设置为 true 使用 NSForegroundColorAttributeName(仅适用于 iOS 6.0 及更高版本)而不是默认的 kCTForegroundColorAttributeName。
关于swift - NSAttributedString 无法从 DTCoreText 解析 CTForegroundColor 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48844782/
我正在使用 DTCoreText 创建 HTML 属性字符串。 DTCoreText 返回的属性字符串有一个名为“CTForegroundColor”的属性,其中包含文本颜色信息。当我在 UI 上显示
我是一名优秀的程序员,十分优秀!