ios – 使用WKWebView修改键盘工具栏附件视图

ios – 使用WKWebView修改键盘工具栏附件视图,第1张

概述我正在使用带有内容可编辑div的WKWebView作为富文本编辑器的核心,并且想要修改键盘上方的顶部工具栏 – 包含自动更正建议和格式按钮的工具栏. (不确定这是否算作输入附件视图). 我发现了一些帖子显示如何删除栏,但它们似乎都没有工作,理想情况下我还是要保留自动更正部分. 至少有一个应用程序Ulysses这样做(虽然我不知道它是否带有Web视图): 事实上,我很确定我可以通过在键盘视图层次上进 我正在使用带有内容可编辑div的WKWebVIEw作为富文本编辑器的核心,并且想要修改键盘上方的顶部工具栏 – 包含自动更正建议和格式按钮的工具栏. (不确定这是否算作输入附件视图).

我发现了一些帖子显示如何删除栏,但它们似乎都没有工作,理想情况下我还是要保留自动更正部分.

至少有一个应用程序ulysses这样做(虽然我不知道它是否带有Web视图):

事实上,我很确定我可以通过在键盘视图层次上进行手术来实现它……但这似乎是一种单调乏味的方法.

有没有更好的办法?

谢谢!

解决方法 也许UITextinputAssistantItem上的 this tutorial会有所帮助.

也就是说,在摆弄了一段时间之后,使用WKWebVIEw我仍然只能在键盘显示的第一次工作,并且每次之后它将返回到其原始状态.我发现始终如一地工作的唯一事情如下:

class VIEwController: UIVIEwController {    @IBOutlet weak private var webVIEw: WKWebVIEw!    private var contentVIEw: UIVIEw?    overrIDe func vIEwDIDLoad() {        super.vIEwDIDLoad()        webVIEw.loadHTMLString("<HTML><body><div contenteditable='true'></div></body></HTML>",baseURL: nil)        for subvIEw in webVIEw.scrollVIEw.subvIEws {            if subvIEw.classForCoder.description() == "WKContentVIEw" {                contentVIEw = subvIEw            }        }        inputAssistantItem.leadingbarbuttonGroups = [UIbarbuttonItemGroup(barbuttonItems: [UIbarbuttonItem(barbuttonSystemItem: .done,target: self,action: #selector(donepressed(_:)))],representativeItem: nil)]        inputAssistantItem.trailingbarbuttonGroups = [UIbarbuttonItemGroup(barbuttonItems: [UIbarbuttonItem(barbuttonSystemItem: .camera,action: #selector(openCamera(_:))),UIbarbuttonItem(barbuttonSystemItem: .action,action: #selector(actionpressed(_:)))],representativeItem: nil)]        NotificationCenter.default.addobserver(self,selector: #selector(keyboardDIDShow),name: .UIKeyboardDIDShow,object: nil)    }    @objc private func donepressed(_ sender: UIbarbuttonItem) {        vIEw.endEditing(true)    }    @objc private func openCamera(_ sender: UIbarbuttonItem) {        print("camera pressed")    }    @objc private func actionpressed(_ sender: UIbarbuttonItem) {        print("action pressed")    }    @objc private func keyboardDIDShow() {        contentVIEw?.inputAssistantItem.leadingbarbuttonGroups = [UIbarbuttonItemGroup(barbuttonItems: [UIbarbuttonItem(barbuttonSystemItem: .done,representativeItem: nil)]        contentVIEw?.inputAssistantItem.trailingbarbuttonGroups = [UIbarbuttonItemGroup(barbuttonItems: [UIbarbuttonItem(barbuttonSystemItem: .camera,representativeItem: nil)]    }}

它会给出这样的东西:

每次键盘显示以及视图控制器本身都必须在内容视图上设置它有点令人沮丧,我希望有更好的方法来做到这一点….但不幸的是我找不到它.

总结

以上是内存溢出为你收集整理的ios – 使用WKWebView修改键盘工具栏/附件视图全部内容,希望文章能够帮你解决ios – 使用WKWebView修改键盘工具栏/附件视图所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1067869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存