gpt4 book ai didi

ios - Swift - 如何以编程方式显示 “paste” 工具提示菜单?

转载 作者:搜寻专家 更新时间:2023-11-01 05:56:09 25 4
gpt4 key购买 nike

我正在开发一个发送图像的自定义键盘,我通过剪贴板发送图像,当用户点击图像时,我希望“粘贴”工具提示显示在输入文本字段中。我怎么能 swift 做到这一点?

像这样: enter image description here

最佳答案

更新

从你的问题来看,你似乎想在键盘扩展的文本输入上显示一个菜单,而不是在应用程序中。没有 API 可以执行此操作,因为您只能使用 UIInputViewControllerUITextDocumentProxy 中可用的方法,无法访问应用程序的文本字段或菜单 Controller 。您必须在自己的应用中提供说明,或者考虑创建一个 iMessage 扩展程序(如果这是您的目标应用)。


如果您想在自己的应用中执行此操作

这包括三个部分。

首先,要从 TextView 显示菜单,它必须是第一响应者:

textView.becomeFirstResponder()

其次,您需要知道选区的矩形。如果没有插入符号或选择,我将在这里放弃。我们不应该处理这种情况,因为 TextView 是第一响应者。

guard let selectedRange = textView.selectedTextRange else { return }
let selectionLength = textView.offset(from: selectedRange.start to: selectedRange.end)

let targetRect : CGRect
if selectionLength > 0 {
targetRect = textView.firstRect(for: selectedRange)
} else {
targetRect = textView.caretRect(for: selectedRange.start)
}

最后,我们可以使用共享菜单 Controller 显示菜单 Controller :

UIMenuController.shared.setTargetRect(textView.bounds, in: textView)
UIMenuController.shared.setMenuVisible(true, animated: true)

关于ios - Swift - 如何以编程方式显示 “paste” 工具提示菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43792207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com