ios 使用UIEdit菜单与WebKit交互

bttbmeg0  于 2022-11-19  发布在  iOS
关注(0)|答案(1)|浏览(412)

我 在 WKWebview 上 显示 选中 文本 的 自 定义 菜单 时 使用 了 UIMenuController 。 但 现在 在 iOS 16 上 已 弃 用 , 并 收到 以下 错误

[Text] Using UIMenuController to add items into text menus is deprecated. Please implement the UITextInput API editMenuForTextRange:suggestedActions: instead.

[EditMenuInteraction] The edit menu ... did not have performable commands and/or actions; ignoring present.

中 的 每 一 个
现在 我 找 不 到 任何 关于 如何 在 wkwebview 上 自 定义 菜单 的 文档 。
这 就是 我 想 在 菜单 上 呈现 的 。

如何 在 wkwebview 上 自 定义 所 选 文本 的 菜单 ?
我 尝试 添加 UITextInput , 但 它 需要 符合 一 系列 协议 。

t1qtbnec

t1qtbnec1#

现在还不可能,但我认为Apple计划很快为UIEditMenuInteraction添加API。这是我在WebKit source中发现的内容(注意WK_IOS_TBA可用性说明符):

/**
 * @abstract Called when the web view is about to present its edit menu.
 *
 * @param webView The web view displaying the menu.
 * @param animator Appearance animator. Add animations to this object to run them alongside the appearance transition.
 */
- (void)webView:(WKWebView *)webView willPresentEditMenuWithAnimator:(id<UIEditMenuInteractionAnimating>)animator WK_API_AVAILABLE(ios(WK_IOS_TBA));

/**
 * @abstract Called when the web view is about to dismiss its edit menu.
 *
 * @param webView The web view displaying the menu.
 * @param animator Dismissal animator. Add animations to this object to run them alongside the dismissal transition.
 */
- (void)webView:(WKWebView *)webView willDismissEditMenuWithAnimator:(id<UIEditMenuInteractionAnimating>)animator WK_API_AVAILABLE(ios(WK_IOS_TBA));

相关问题