如何在WKWebview中隐藏键盘附件栏?虽然UIWebView有一些资源,但我还是找不到Stackoverflow上的WkWebview.
有关:
> Removing the accesory item on the UIWebView keyboard
> iOS 7 UIWebView keyboard issue
解决方法
这可以在WKWebView中使用方法的变体来调用UIWebView上的inputAccessoryView.
首先,添加这个小类:
@interface _NoInputAccessoryView : NSObject @end @implementation _NoInputAccessoryView - (id)inputAccessoryView { return nil; } @end
- (void)removeInputAccessoryViewFromWKWebView:(WKWebView *)webView { UIView *targetView; for (UIView *view in webView.scrollView.subviews) { if([[view.class description] hasPrefix:@"WKContent"]) { targetView = view; } } if (!targetView) { return; } NSString *noInputAccessoryViewClassName = [NSString stringWithFormat:@"%@_NoInputAccessoryView",targetView.class.superclass]; Class newClass = NSClassFromString(noInputAccessoryViewClassName); if(newClass == nil) { newClass = objc_allocateClassPair(targetView.class,[noInputAccessoryViewClassName cStringUsingEncoding:NSASCIIStringEncoding],0); if(!newClass) { return; } Method method = class_getInstanceMethod([_NoInputAccessoryView class],@selector(inputAccessoryView)); class_addMethod(newClass,@selector(inputAccessoryView),method_getImplementation(method),method_getTypeEncoding(method)); objc_registerClassPair(newClass); } object_setClass(targetView,newClass); }
[self removeInputAccessoryViewFromWKWebView:webView];
注意:我还不确定这是否会通过应用程序审核,但它与我用于UIWebView的相同代码非常相似,并且确实通过了审核.
更新:此代码位于已通过App Store审核的应用中.