Skip to content

Commit 2c55863

Browse files
committed
1 parent 2d01d5f commit 2c55863

File tree

1 file changed

+21
-6
lines changed

1 file changed

+21
-6
lines changed

src/ios/IonicKeyboard.m

+21-6
Original file line numberDiff line numberDiff line change
@@ -67,15 +67,30 @@ - (BOOL)hideKeyboardAccessoryBar {
6767
return _hideKeyboardAccessoryBar;
6868
}
6969

70+
static IMP UIOriginalImp;
71+
static IMP WKOriginalImp;
72+
7073
- (void)setHideKeyboardAccessoryBar:(BOOL)hideKeyboardAccessoryBar {
71-
if (hideKeyboardAccessoryBar == _hideKeyboardAccessoryBar || ![self.webView isKindOfClass:[UIWebView class]]) {
74+
if (hideFormAccessoryBar == _hideKeyboardAccessoryBar) {
7275
return;
7376
}
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);
7994
}
8095

8196
_hideKeyboardAccessoryBar = hideKeyboardAccessoryBar;

0 commit comments

Comments
 (0)