你能以编程方式接受 UITextView 中的拼写更正吗?
Posted
技术标签:
【中文标题】你能以编程方式接受 UITextView 中的拼写更正吗?【英文标题】:Can you programmatically accept a spelling correction in UITextView? 【发布时间】:2011-04-24 00:42:30 【问题描述】:我有一个将字符插入 UITextView 的按钮。我希望这个按钮的行为与空格键按钮一样;我希望在按下它时接受待处理的自动更正建议。
这可以吗?如果是这样,怎么做?谢谢!
【问题讨论】:
【参考方案1】:我刚刚发现,您可以使用:
而不是这样做(杀死我的动画): [messageField reloadInputViews];
像魅力一样工作。
【讨论】:
@mahboudz 我相信问题的情况是......为什么要投反对票?? 原始发帖人没有提到inputView
和inputAccessoryView
。您是否假设海报的“按钮”是其中之一?不必如此,这会使您的最终解决方案不完整。您可能希望在回答中反映这一点。【参考方案2】:
没有任何 API 可以直接与自动更正交互。但是,不久前我遇到了一个小技巧:如果您退出响应者,则当前显示的自动更正将被接受。因此,您也许可以辞去第一响应者的职务,然后重新分配它:
[myTextView resignFirstResponder];
[myTextView becomeFirstResponder];
【讨论】:
执行此操作时 UI 是否会出现问题? 没有。我没有遇到任何问题。 太棒了,我以后可能会用这个。 仅供参考:这会触发 textViewDidEndEditing: 和 textViewShouldBeginEditing: 委托调用和键盘通知。【参考方案3】:这两种提议的解决方案都不能在 ios 14 上运行,并且没有任何副作用,例如在旧设备上出现奇怪的动画。
调用 selectionWillChange 和 selectionDidChange 可以:
[textView.inputDelegate selectionWillChange: textView];
[textView.inputDelegate selectionDidChange: textView];
可以在此处找到类似且更受欢迎的问题:Execute current UITextField autocorrect suggestion when another button is pressed
【讨论】:
以上是关于你能以编程方式接受 UITextView 中的拼写更正吗?的主要内容,如果未能解决你的问题,请参考以下文章
你能以编程方式访问当前的 Heroku dyno id/name 吗?
你能以编程方式在iOS 8(w / Swift)中切换“请勿打扰”模式吗?