-->

如何隐藏表单助理使用Trigger.IO iOS原生的插件?(How can I hide Form

2019-08-01 14:40发布

我试图建立一个触发插件,将删除该表单助理对我们的投入和表单字段(即搁在IOS的WebView键盘,可以帮助您浏览的形式与“下一个”和“上一个”按钮傻工具栏)。

这里是为PhoneGap的哈克解决方案,我想端口上。

这个问题涉及我需要使用他们的插件系统,假设上述PhoneGap的解决方案将正常工作落实本作触发的步骤。

我认为有必要让每一次键盘负载,不只是一次全球呼叫。

Answer 1:

表单辅助模块现已作为Trigger.io V2.0的一部分: https://trigger.io/modules/damn_you_form_assist/current/

感谢Fetchnotes和@Horak作出这项功能!



Answer 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];
                }
            }
        }
    }
}];


文章来源: How can I hide Form Assistant with iOS native plugins using Trigger.IO?
标签: trigger.io