ios WKWebview弹出键盘上的按钮隐藏

#import <WebKit/WebKit.h>


@interface WKWebView (AccessoryHiding)


@property (nonatomic, assign) BOOL hackishlyHidesInputAccessoryView;


@end



#import "WKWebView+AccessoryHiding.h"


#import  <objc/runtime.h>


#import <UIKit/UIKit.h>


@implementation WKWebView (HackishAccessoryHiding)


static const char * const hackishFixClassName = "WKContentViewMinusAccessoryView";


//static const char * const hackishFixClassName = "UIWebBrowserViewMinusAccessoryView";

//UIWebBrowser


static Class hackishFixClass = Nil;


- (UIView *)hackishlyFoundBrowserView {


UIScrollView *scrollView = self.scrollView;


UIView *browserView = nil;


for (UIView *subview in scrollView.subviews) {


NSLog(@"%@",NSStringFromClass([subview class]));


if ([NSStringFromClass([subview class]) hasPrefix:@"WKContentView"]) {


browserView = subview;


break;


}


}


return browserView;


}


- (id)methodReturningNil {


return nil;


}


- (void)ensureHackishSubclassExistsOfBrowserViewClass:(Class)browserViewClass {


if (!hackishFixClass) {


Class newClass = objc_allocateClassPair(browserViewClass, hackishFixClassName, 0);


IMP nilImp = [self methodForSelector:@selector(methodReturningNil)];


class_addMethod(newClass, @selector(inputAccessoryView), nilImp, "@@:");


objc_registerClassPair(newClass);


hackishFixClass = newClass;


}


}


- (BOOL) hackishlyHidesInputAccessoryView {


UIView *browserView = [self hackishlyFoundBrowserView];


return [browserView class] == hackishFixClass;


}


- (void) setHackishlyHidesInputAccessoryView:(BOOL)value {


UIView *browserView = [self hackishlyFoundBrowserView];


if (browserView == nil) {


return;


}


[self ensureHackishSubclassExistsOfBrowserViewClass:[browserView class]];


if (value) {


object_setClass(browserView, hackishFixClass);


}


else {


Class normalClass = objc_getClass("WKContentView");


object_setClass(browserView, normalClass);


}


[browserView reloadInputViews];


}


@end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值