Ios 在Swift中,如何检测UITextView中空格键的双击?

Ios 在Swift中,如何检测UITextView中空格键的双击?,ios,swift,uitextview,Ios,Swift,Uitextview,我正在开发一个严重依赖UITextView的应用程序。所需的行为是,当用户双击空格键时,光标将缩进5个空格。我该怎么做?使用UIText​看法​代表并在文本中添加​视图(UIText)​观点,应该​改变​正文​在:​ NSRange,替换​正文:​ 字符串)函数,用于跟踪空间输入和时间。当您在短时间内收到两个空格输入时,您可以使用5个空格操作文本字段。您应该使用一个计时器来检查短时间间隔,应该为UITextView使用ChangeTextInRange委托方法,并为空格字符串编写一个条件。之后,

我正在开发一个严重依赖UITextView的应用程序。所需的行为是,当用户双击空格键时,光标将缩进5个空格。我该怎么做?

使用UIText​看法​代表并在文本中添加​视图(UIText)​观点,应该​改变​正文​在:​ NSRange,替换​正文:​ 字符串)函数,用于跟踪空间输入和时间。当您在短时间内收到两个空格输入时,您可以使用5个空格操作文本字段。

您应该使用一个计时器来检查短时间间隔,
应该为UITextView使用ChangeTextInRange
委托方法,并为空格字符串编写一个条件。之后,您可以使用UITextView的协议之一UITExtput的insertText方法:

func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
    if text == " " { 
        if isSecondSpace {
            (textView as UIKeyInput).insertText("     ") //5 spaces
        } else {
            isSecondSpace = true

            DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.2) {
                self.isSecondSpace = false
            }
        }

        return false
    }

    return true
}

尝试了这个,它说“使用未解决的标识符'replacementText'问题解决了,var名称实际上只是“text”