Ios UITextView委托应更改范围isn中的文本';当键盘选择为中文(简体)-Swift 4.2中的手写时调用t
以下是我的示例代码:Ios UITextView委托应更改范围isn中的文本';当键盘选择为中文(简体)-Swift 4.2中的手写时调用t,ios,xcode,uitextview,swift4.2,uitextviewdelegate,Ios,Xcode,Uitextview,Swift4.2,Uitextviewdelegate,以下是我的示例代码: class ViewController: UIViewController, UITextViewDelegate { @IBOutlet weak var textView_editingView: UITextView! override func viewDidLoad() { super.viewDidLoad() textView_editingView.text = "" textView_editingView.delegate =
class ViewController: UIViewController, UITextViewDelegate {
@IBOutlet weak var textView_editingView: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
textView_editingView.text = ""
textView_editingView.delegate = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
print("Not Called")
return true
}
func textViewDidChange(_ textView: UITextView) {
print("Called")
}
}
当我将键盘类型更改为“中文(简体)-手写”时,在输入文本时不会调用“应更改范围内的文本”(UITextViewDelegate)
这个委托中有一些特定的check,需要调用它,比如提提、hashtags和url。由于未调用此委托,所以当更改键盘时,这些验证的逻辑将失败。否则,对于普通的英语键盘来说,一切都可以正常工作
请注意:我使用的是XCode Simulator键盘设置中提供的默认键盘,这在iPhone7 Plus上也可以复制。老实说,我也有同样的问题,似乎任何语言的手写都有同样的问题。我的解决方法是观察“func textfielddendediting(UITextField)”,并在“func textfield shouldenediting(UITextField)->Bool”中执行我需要的任何操作