How to use autocorrection and shortcut list in iOS8 custom keyboard?

后端 未结 9 932
慢半拍i
慢半拍i 2020-12-07 17:22

I want to use the autocorrection and shortcut list like default English keyboard with my custom keyboard. I check the in keyboard document but don\'t know how to use it.

9条回答
  •  有刺的猬
    2020-12-07 17:50

    You can use below logic for AutoCorrect & it will also work in iOS 10

    -(void)didClickAtAlphaNumericKeyboardKey:(NSString *)value {
    
        if ([value isEqualToString:@" "]) {
                UITextChecker *checker = [[UITextChecker alloc] init];
                currentString = self.textDocumentProxy.documentContextBeforeInput;
                NSCharacterSet *charSet = [NSCharacterSet whitespaceAndNewlineCharacterSet];
                NSArray *components = [currentString componentsSeparatedByCharactersInSet:charSet];
                NSString *lastWord = components.lastObject;
    
                NSRange checkRange = NSMakeRange(0, lastWord.length);
                NSRange misspelledRange = [checker rangeOfMisspelledWordInString:lastWord
                                                                           range:checkRange
                                                                      startingAt:checkRange.location
                                                                            wrap:NO
                                                                        language:@"en_US"];
    
                NSArray *guessedWord = [checker guessesForWordRange:misspelledRange inString:lastWord language:@"en_US"];
    
                if (guessedWord && guessedWord.count > 0) {
                    for (int i = 0; lastWord.length >i ; i++) {
                        [self.textDocumentProxy deleteBackward];
                    }
                    [self.textDocumentProxy insertText:[guessedWord objectAtIndex:0]];
                }
        }
    
        [self.textDocumentProxy insertText:value];
    }
    

提交回复
热议问题