@@ -67,15 +67,30 @@ - (BOOL)hideKeyboardAccessoryBar {
67
67
return _hideKeyboardAccessoryBar;
68
68
}
69
69
70
+ static IMP UIOriginalImp;
71
+ static IMP WKOriginalImp;
72
+
70
73
- (void )setHideKeyboardAccessoryBar : (BOOL )hideKeyboardAccessoryBar {
71
- if (hideKeyboardAccessoryBar == _hideKeyboardAccessoryBar || ![ self .webView isKindOfClass: [UIWebView class ]] ) {
74
+ if (hideFormAccessoryBar == _hideKeyboardAccessoryBar) {
72
75
return ;
73
76
}
74
- if (hideKeyboardAccessoryBar) {
75
- ((UIWebView*)self.webView ).hackishlyHidesInputAccessoryView = YES ;
76
- }
77
- else {
78
- ((UIWebView*)self.webView ).hackishlyHidesInputAccessoryView = NO ;
77
+
78
+ Method UIMethod = class_getInstanceMethod (NSClassFromString (@" UIWebBrowserView" ), @selector (inputAccessoryView ));
79
+ Method WKMethod = class_getInstanceMethod (NSClassFromString (@" WKContentView" ), @selector (inputAccessoryView ));
80
+
81
+ if (hideFormAccessoryBar) {
82
+ UIOriginalImp = method_getImplementation (UIMethod);
83
+ WKOriginalImp = method_getImplementation (WKMethod);
84
+
85
+ IMP newImp = imp_implementationWithBlock (^(id _s) {
86
+ return nil ;
87
+ });
88
+
89
+ method_setImplementation (UIMethod, newImp);
90
+ method_setImplementation (WKMethod, newImp);
91
+ } else {
92
+ method_setImplementation (UIMethod, UIOriginalImp);
93
+ method_setImplementation (WKMethod, WKOriginalImp);
79
94
}
80
95
81
96
_hideKeyboardAccessoryBar = hideKeyboardAccessoryBar;
0 commit comments