iOS   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 在Swift中删除WKWebView Accesory栏大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我现在正试着将 this转换成Swift而没有真正的背景.

这是我到目前为止所得到的…而且我一直在寻找谷歌并不知道要搜索什么才能更具体.你能否详细说明我做错了什么?谢谢

更新:

我已经找到了objective-c标签,因此更多与此线程相关的人可能能够看到它并希望得到答案.

解决方法

Michael DauteRMANn回答说得对,但是为了隐藏附件栏,你需要使用_NoInputAccessoryView类的inputAccessoryView()来调用UIView类的方法inputAccessoryView().我刚刚在代码添加了几行额外的行来完成这个方法调配工作.

首先,你需要一个假类来交换

final class FauxBarHelper: NSObject {
    var inputAccessoryView: AnyObject? { return nil }
}

然后在控制器类中创建此方法

/// Removes the keyboard accessory view from the web view
/// source: https://stackoverflow.com/a/32620344/308315 / https://stackoverflow.com/a/33939584/308315
func _removeInputAccessoryView(webView: UIWebView) {
    var targetView: UIView? = nil

    for view in webView.scrollView.subviews {
        if String(describing: type(of: view)).hasPrefix("WKContent") {
            targetView = view
        }
    }

    guard let target = targetView else { return }

    let noInputAccessoryViewClassName = "\(target.superclass!)_NoInputAccessoryView"
    var newClass: AnyClass? = NSClassFromString(noInputAccessoryViewClassName)
    if newClass == nil {
        let targetClass: AnyClass = object_getClass(target)
        newClass = objc_allocateClassPair(targetClass,noInputAccessoryViewClassName.cString(using: String.Encoding.ascii)!,0)
    }

    let originalMethod = class_geTinstanceMethod(FauxBarHelper.self,#SELEctor(getter: FauxBarHelper.inputAccessoryView))
    class_addMethod(newClass!.self,#SELEctor(getter: FauxBarHelper.inputAccessoryView),method_getImplementation(originalMethod),method_getTypeEncoding(originalMethod))
    object_setClass(target,newClass)
}

HTH;)

大佬总结

以上是大佬教程为你收集整理的ios – 在Swift中删除WKWebView Accesory栏全部内容,希望文章能够帮你解决ios – 在Swift中删除WKWebView Accesory栏所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。