ios - UITextView 接收文本形式的听写,但文本在 textView.text 属性中为 nil

标签 ios swift uitextview

我正在尝试从输入方法为听写的 UITextView 中获取文本。在 textViewDidChange 委托(delegate)方法中,我尝试打印以下信息:

 print(textView.text)
 print(myTextView.text)
 print(textView.hasText)
 print(textView.attributedText)
 print(textView.textStorage)

所有这些都返回 nil,除了 hasText 返回为 false。

文本在 textView 中可见,但未注册。我应该说,当我去编辑字段中的另一个表单,然后尝试从此文本字段获取值时,输入的文本在 textView 的 textView.text 属性中是可见的。但这就像需要花一些时间编辑其他字段才能完全“注册”到 textView 对象。

知道这里会发生什么吗?

最佳答案

过一会儿再试试

let when = DispatchTime.now() + 0.5
DispatchQueue.main.asyncAfter(deadline: when) {
   print(textView.text)
   print(textView.hasText)
   print(textView.hasText)
   print(textView.attributedText)
   print(textView.textStorage)
}

更新:这是因为你试图在设置之前打印文本。将文本设置到 textView 需要一些时间。

关于ios - UITextView 接收文本形式的听写,但文本在 textView.text 属性中为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47479925/

相关文章:

ios - 如何在信号链中发送错误

java - Swift 或 Objective C 中的 java ByteBuffer 等价于什么?

swift - 我如何使用 Audiokit 发送 midi poly pressure 消息?

ios - 如何在 iOS 中点击时增加按钮大小?

ios - 计算 UITextView 中的行数,由帧大小包裹的行

ios - Swift:如何在写入时不断调整 UICollectionViewCell 高度以适应 UITextView?

javascript - 自动化脚本不起作用?

ios - 单击一个按钮将多个数据行发送到 firebase

ios - 快速创建 JSON 数组和 JSON 对象

iOS - TextView 的图像附件更改属性