我正在开发一款严重依赖UITextView的应用。所需的行为是当用户双击空格键时,光标将缩进5个空格。我该怎么做?
答案 0 :(得分:0)
使用UIText View Delegate并在文本View(UIText View,应更改Text In:NSRange,替换Text:String)功能中跟踪空间输入和时间。当您在短时间内收到两个空格输入时,您可以使用5个空格操作文本字段。
答案 1 :(得分:0)
您应该使用一个计时器来检查短时间间隔和UITextView的shouldChangeTextInRange
委托方法,并为空格字符串写一个条件。之后,您可以使用UITextInput的一个UITextInput的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
}