Tôi đang phát triển ứng dụng PhoneGap cho iOS và tôi cần loại bỏ thanh phím tắt iOS 9 mới. Bây giờ tôi đang làm như sau trong - (void)viewDidLoad
phương phápẨn thanh phím tắt cho UIWebView trong iOS 9
if ([self.webView respondsToSelector:@selector(inputAssistantItem)]) {
UITextInputAssistantItem *inputAssistantItem = [self.webView inputAssistantItem];
inputAssistantItem.leadingBarButtonGroups = @[];
inputAssistantItem.trailingBarButtonGroups = @[];
}
này ẩn undo/redo và copy/paste nút nhưng thanh shortcut vẫn trình bày trên bàn phím và có nút điều hướng trên đó.
Làm cách nào để loại bỏ hoàn toàn thanh phím tắt.
Cảm ơn sự giúp đỡ của bạn!
***UPDATE 1***
mã làm việc đầy đủ của tôi là dưới đây. Hy vọng điều này có thể giúp ai đó (nhờ trả lời @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];
}
Thủ thuật này sẽ ẩn các nút điều hướng/làm lại và điều hướng. Nhưng văn bản tự động dự đoán vẫn sẽ được hiển thị trên bàn phím. Để ẩn thanh phím tắt hoàn toàn thêm html thuộc tính đến yếu tố đầu vào của bạn
<input autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" />
Tái bút: Ứng dụng của tôi là tự rà soát hiện nay. Vẫn không biết liệu Apple có chấp nhận điều này hay không.
***UPDATE 2***
Ứng dụng của tôi đã được chấp thuận bởi Apple
Bạn không có thể, là một phần của view web. Phonegap/Cordova chỉ sử dụng HTML để xây dựng ui của bạn và sau đó nó được trình bày trong một giao diện web. – rckoenes
Cảm ơn bạn đã trả lời, rckoenes. Nhưng tại sao tôi vẫn có thể ẩn các nút hoàn tác/sao chép/dán? – rubanbs
cố gắng không đặt các trường nhập bên trong biểu mẫu – jcesarmobile