我正在构建一个iOS阅读器应用程序,我需要能够突出显示文本的选择,并可选择链接带有高亮的注释。我开始使用Text Kit(UITextView
,NSAttributedString
)。我的目标是iOS 7,8和9。
我的问题是我需要能够支持内容中某些段落的首字下沉。这意味着段落的第一个字母是2行文本的高度,前两行文本出现在它旁边,然后剩下的行包裹在下面。我的内容在各个段落中都有许多首字母缩写字符。
显示4行首字下沉的示例。
我最初的假设是我会使用Text Kit排除路径,以便段落可以包围它。但我无法找到一种方法来确定排除路径的确切位置,我不确定这些是否随着我的内容滚动而浮动。使用这种方法,我还必须手动处理Drop Cap字符的文本选择,我想避免这种情况。
我希望我可以使用内联文本附件(NSTextAttachment
),但我无法确定在其旁边包含2条线的方法。
我发现了一些使用Core Text的Drop Cap实现的旧版本(pre-TextKit),然而,每个人只显示内容的第一个字符作为Drop Cap,而不是我需要的整个内容中的多个段落。我希望避免使用Core Text,因为我不想手动处理文本选择。
NSTextAttachment
感觉就像最简单的方法。有没有办法在它旁边包含2行文字?
后备......我开始怀疑是否应该切换到WKWebView
并放弃iOS 7 - 因为HTML支持首字下沉,WKWebView
提供的性能高于UIWebView
。