【发布时间】:2017-09-21 21:39:35
【问题描述】:
UITextView 似乎使用它的属性文本属性中的任何第一个字符作为随后任何文本的默认属性。我尝试过使用 typingAttributes,但它只在打字时有效(粘贴和双击空格键是我稍后会解释的问题)。
如果我将提及创建为第一行文本,然后粘贴文本,则粘贴的文本将具有提及属性。
但是,如果我添加了文本(默认属性),然后是提及,然后粘贴了文本,则粘贴的文本将具有默认属性。
我已尝试重置 typingAttributes,如果您在提及之后键入,但无论何时粘贴或双击空格键并添加 .,它都会使用第一个字符的属性。
有什么办法可以解决这个问题吗?可能是要覆盖的 NSAttributedString 函数或我缺少的 UITextView 上的任何方法/变量可能对我有帮助?
第一次编辑:
捕获长度超过 1 个字符的文本
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange,
replacementText text: String) -> Bool
允许我自己返回 false 并替换文本。
然而,我被困在试图捕捉从两个空格到.的变化
如果有人知道如何正确捕捉这一点,那将非常有帮助。
【问题讨论】:
标签: swift uitextview