Я разрабатываю приложение PhoneGap для iOS, и мне нужно избавиться от новой ярлыки iOS 9. Теперь я делаю следующее в - (void)viewDidLoad
методыСкрыть ярлык клавиатуры для UIWebView в iOS 9
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 Мое приложение находится на рассмотрении в настоящее время. Все еще не знаю, одобрит ли Apple это.
***UPDATE 2***
Мое приложение было одобрено Apple,
Вы не можете, является частью веб-просмотра. Phonegap/Cordova просто использует HTML для создания своего ui, а затем он представлен в веб-представлении. – rckoenes
Спасибо за ваш ответ, rckoenes. Но почему я все еще могу скрывать кнопки отмены/копирования/вставки? – rubanbs
попробуйте не помещать поля ввода в форму – jcesarmobile