私はiOSのPhoneGapアプリケーションを開発しており、新しいiOS 9ショートカットバーを削除する必要があります。今、私は- (void)viewDidLoad
方法iOS 9のUIWebViewのショートカットキーバーを非表示
if ([self.webView respondsToSelector:@selector(inputAssistantItem)]) {
UITextInputAssistantItem *inputAssistantItem = [self.webView inputAssistantItem];
inputAssistantItem.leadingBarButtonGroups = @[];
inputAssistantItem.trailingBarButtonGroups = @[];
}
に次のようにやっているこれは、アンドゥ/リドゥやコピー/ペーストボタン非表示になりますが、ショートカットバーはまだキーボードの上に提示し、その上にナビゲーションボタンがあります。私は完全にショートカットバーを取り除くことができますどのように
。
ありがとうございました!
***UPDATE 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私のアプリは現在レビュー中です。アップルがこれを承認するかどうかまだ分からない。
***UPDATE 2***
私のアプリは、私たちは、キーボードショートカットバー(のみにObjCで動作)を削除することができる方法のswizilingを使用して、アップル
あなたがすることはできませんから、アクセサリビューを削除するには
UPDATE
は、ウェブビューの一部です。 Phonegap/CordovaはHTMLを使用してあなたのUIを構築しています。その後、Webビューで表示されます。 – rckoenes
あなたの返信ありがとう、rckoenes。しかし、なぜ私はまだアンドゥ/コピー/ペーストボタンを隠すことができますか? – rubanbs
フォーム内に入力フィールドを入れないでください。 – jcesarmobile