我正在尝试构建一个Trigger插件,它将删除表单助手(依赖于ios webview键盘的傻工具栏,可帮助您在输入和放大器上使用“下一个”和“上一个”按钮导航表单) ;表格领域。
Here是为PhoneGap提供的一个hacky解决方案,我想移植一下。
这个问题涉及我需要采取的步骤,使用他们的插件系统正确实现Trigger,假设上述PhoneGap解决方案可行。
我认为每次键盘加载时都需要进行调用,而不是全局一次。
答案 0 :(得分:2)
我自己刚刚实现了这一点,由于某种原因UIKeyboardWillShowNotification
事件并没有为我开火,幸运的是另一个事件UIKeyboardCandidateCorrectionDidChangeNotification
在正确的点上发射。
如果您将此代码放在插件的API方法中,并确保在显示键盘之前调用它(一次),它应该可以正常工作。
[[NSNotificationCenter defaultCenter] addObserverForName:@"UIKeyboardCandidateCorrectionDidChangeNotification" object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
UIWindow *keyboardWindow = nil;
for (UIWindow *testWindow in [[UIApplication sharedApplication] windows]) {
if (![[testWindow class] isEqual:[UIWindow class]]) {
keyboardWindow = testWindow;
}
}
// Locate UIWebFormView.
for (UIView *possibleFormView in [keyboardWindow subviews]) {
// iOS 5 sticks the UIWebFormView inside a UIPeripheralHostView.
if ([[possibleFormView description] rangeOfString:@"UIPeripheralHostView"].location != NSNotFound) {
for (UIView *subviewWhichIsPossibleFormView in [possibleFormView subviews]) {
if ([[subviewWhichIsPossibleFormView description] rangeOfString:@"UIWebFormAccessory"].location != NSNotFound) {
[subviewWhichIsPossibleFormView removeFromSuperview];
}
}
}
}
}];
答案 1 :(得分:1)
表单助手模块现在作为Trigger.io v2.0的一部分提供: https://trigger.io/modules/damn_you_form_assist/current/
感谢Fetchnotes和@Horak提供此功能!