
if ([self.webVIEw respondsToSelector:@selector(inputAssistantItem)]) { UITextinputAssistantItem *inputAssistantItem = [self.webVIEw inputAssistantItem]; inputAssistantItem.leadingbarbuttonGroups = @[]; inputAssistantItem.trailingbarbuttonGroups = @[];} 这隐藏了撤消/重做和复制/粘贴按钮,但快捷栏仍然显示在键盘上并且上面有导航按钮.
我怎样才能完全摆脱快捷栏.
谢谢你的帮助!
***更新1 ***
我的完整工作代码如下.希望这可以帮到某人(感谢@Clement的回复)
#import <objc/runtime.h>- (voID) hIDeKeyboardShortcutbar: (UIVIEw *)vIEw{ for (UIVIEw *sub in vIEw.subvIEws) { [self hIDeKeyboardShortcutbar:sub]; if ([NsstringFromClass([sub class]) isEqualToString:@"UIWebbrowserVIEw"]) { Method method = class_getInstanceMethod(sub.class,@selector(inputAccessoryVIEw)); IMP newImp = imp_implementationWithBlock(^(ID _s) { if ([sub respondsToSelector:@selector(inputAssistantItem)]) { UITextinputAssistantItem *inputAssistantItem = [sub inputAssistantItem]; inputAssistantItem.leadingbarbuttonGroups = @[]; inputAssistantItem.trailingbarbuttonGroups = @[]; } return nil; }); method_setImplementation(method,newImp); } }}- (voID)vIEwDIDLoad{ [super vIEwDIDLoad]; [self hIDeKeyboardShortcutbar:self.webVIEw];} 这个技巧将隐藏撤消/重做和导航按钮.但自动预测文本仍将显示在键盘上.要隐藏快捷方式栏,请将HTML属性添加到输入元素中
<input autocomplete="off" autocorrect="off" autocAPItalize="off" spellcheck="false" />
P.S我的应用程序现在正在审核中.仍然不知道Apple是否会批准这一点.
***更新2 ***
我的应用程序已获Apple批准
- (voID)hIDeKeyboardShortcutbar { Class webbrowserClass = NSClassFromString(@"UIWebbrowserVIEw"); Method method = class_getInstanceMethod(webbrowserClass,@selector(inputAccessoryVIEw)); IMP newImp = imp_implementationWithBlock(^(ID _s) { if ([self.webVIEw respondsToSelector:@selector(inputAssistantItem)]) { UITextinputAssistantItem *inputAssistantItem = [self.webVIEw inputAssistantItem]; inputAssistantItem.leadingbarbuttonGroups = @[]; inputAssistantItem.trailingbarbuttonGroups = @[]; } return nil; }); method_setImplementation(method,newImp); } inputAccessoryVIEw
: This property is typically used to attach an accessory vIEw to the
system-supplIEd keyboard that is presented for UITextFIEld and
UITextVIEw objects.
因此,每次键盘d出时都会触发新的实现块.
UPDATE
要从WKWebVIEw中删除附件视图,请使用WKContentVIEw而不是UIWebbrowserVIEw
总结以上是内存溢出为你收集整理的在iOS 9中隐藏UIWebView的快捷键盘全部内容,希望文章能够帮你解决在iOS 9中隐藏UIWebView的快捷键盘所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)