【问题标题】:textfield extension is not updating text on screen (swfit4)文本字段扩展不更新屏幕上的文本 (swfit4)
【发布时间】:2018-04-03 00:35:44
【问题描述】:

下面的扩展代码更新文本但不更新最后一个字母。因此,如果她在文本字段中键入单词,则屏幕上的文本仅显示 sh。

    extension ViewController: UITextFieldDelegate{
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
    DispatchQueue.main.async {
        self.textNode.textGeometry.string = textField.text!
    }
    return true
}
}

【问题讨论】:

    标签: swift4 textfield arkit uitextfielddelegate dispatch-queue


    【解决方案1】:

    我相信您需要像这样进行委托回调:

    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
    
        if let textEntered = textField.text,
            let textRange = Range(range, in: textEntered) {
    
        let updatedText = textEntered.replacingCharacters(in: textRange, with: string)
            print("User Has Entered \(updatedText)")
    
            DispatchQueue.main.async {
                self.textNode.textGeometry.string = updatedText
            }
        }
    
        return true
    }
    

    希望对你有帮助...

    【讨论】:

      猜你喜欢
      • 2012-07-31
      • 1970-01-01
      • 1970-01-01
      • 2015-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-11
      相关资源
      最近更新 更多