ios - 从 wkwebview 键盘中删除顶部工具栏

标签 ios swift wkwebview custom-keyboard

我目前正在创建一个基于 WKWebView 的应用程序,每次键盘弹出上方的工具栏时,它都会显示如下: Picture of keyboard with done bar

我想在键盘展开时删除此工具栏。

我已经搜索了堆栈溢出,但没有找到有关此主题的任何最新信息(我只找到了 UIWebView),但如果您找到我错过的帖子,我将非常感激。

我正在使用 swift。

感谢所有帮助,谢谢。

最佳答案

在这篇文章中找到了答案

感谢上面的 Pavel。

Removing WKWebView Accesory bar in Swift

将此代码添加到您的 View Controller :

fileprivate final class InputAccessoryHackHelper: NSObject {
    @objc var inputAccessoryView: AnyObject? { return nil }
}

extension WKWebView {
    func hack_removeInputAccessory() {
        print("s")
        guard let target = scrollView.subviews.first(where: {
            String(describing: type(of: $0)).hasPrefix("WKContent")
        }), let superclass = target.superclass else {
            return
        }

        let noInputAccessoryViewClassName = "\(superclass)_NoInputAccessoryView"
        var newClass: AnyClass? = NSClassFromString(noInputAccessoryViewClassName)

        if newClass == nil, let targetClass = object_getClass(target), let classNameCString = noInputAccessoryViewClassName.cString(using: .ascii) {
            newClass = objc_allocateClassPair(targetClass, classNameCString, 0)

            if let newClass = newClass {
                objc_registerClassPair(newClass)
            }
        }

        guard let noInputAccessoryClass = newClass, let originalMethod = class_getInstanceMethod(InputAccessoryHackHelper.self, #selector(getter: InputAccessoryHackHelper.inputAccessoryView)) else {
            return
        }
        class_addMethod(noInputAccessoryClass.self, #selector(getter: InputAccessoryHackHelper.inputAccessoryView), method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod))
        object_setClass(target, noInputAccessoryClass)
    }
}

然后用

调用它
        webView.hack_removeInputAccessory()

加载 View 后。

关于ios - 从 wkwebview 键盘中删除顶部工具栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57209827/

相关文章:

crash - UIMenuItem #selector 方法在 wkwebview 中崩溃

ios - 在 iOS 10 的 swift 3 中进行休息调用时出错

ios - 在 IOS 中,在 "Edit Mode"中,如何将带有单元格的新部分添加到静态 UITableView?

ios - 如何知道我的 WKWebview 派生 subview 何时加载到 Swift 中

ios - IOS 5 应用程序中的多个 UIPickerView

ios - 自动续订订阅收据验证

ios - 单击通用链接在我的应用程序中打开 WKWebView

ios - 当 UILabel 动态调整大小时,移动 UIView 中的 UIButton。 iOS系统

objective-c - 如何更改 UIPageViewController 分页 curl 动画的方向

ios - 当整数的值改变时触发一个 Action