自定义键盘扩展 iOS Swift 中的自动发送功能

Posted

技术标签:

【中文标题】自定义键盘扩展 iOS Swift 中的自动发送功能【英文标题】:Auto Send feature in Custom Keyboard Extension iOS Swift 【发布时间】:2022-01-10 10:15:40 【问题描述】:

我已经在我的应用程序中实现了自定义键盘扩展,并且其中有一个 UITableView。当我单击具有文本标签的 UITableView 的单元格时,我希望文本能够自动发送(某些应用程序支持自动发送,即 SnapChat、Tiktok、Safari)。

我搜索了UITextDocumentProxy,但无法实现上述场景。

提前致谢!

【问题讨论】:

【参考方案1】:

一些自动发送应用,如 SnapChat、Tiktok、Safari 我已经通过这个功能完成了,当你想发送文本后自动发送文本 然后调用

textDocumentProxy?.return()

扩展

extension UIKeyInput 
    func `return`() -> Void
         insertText("\n")
    

【讨论】:

它不起作用,光标只是跳到下一行。 @NikhilViradiya 它适用于发送 SnapChat、Tiktok 等应用,请在这些应用上重试 你可以在调用 textDocumentProxy?.return() 之前延迟 0.2 秒后调用 textDocumentProxy.insertText(yourText) 它现在可以工作了,但我必须使用 DispatchQueue 调用该函数 谢谢@Anh vu

以上是关于自定义键盘扩展 iOS Swift 中的自动发送功能的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中访问共享容器中的自定义对象

自定义键盘应用程序扩展 iOS 8 上的 Siri

iOS 8 自定义键盘扩展 UIKeyboardType

在自定义键盘扩展中播放标准 iOS 键盘点击声音

iOS 键盘扩展:像粘贴一样的拟我表情

获取 ios 8 自定义键盘扩展的“因内存错误而终止”