方法
目前可以通过获得当前的UITextInputMode
实例来判断是否属于第三方输入法
- 若是系统输入法,实例为
UIKeyboardInputMode
(私有API)对象。 - 若是第三方(百度、搜狗等),实例为
UIKeyboardExtensionInputMode
(私有API)对象。
借助这点,可以写出以下代码。
// 方法一
- (BOOL)isThirdPartyKeyboard {
UITextInputMode *currentInputMode = [[UIApplication sharedApplication] textInputMode];
if ([[currentInputMode description] containsString:@"Extension"]) {
return YES;
}
return NO;
}
// 方法二
- (BOOL)isThirdPartyKeyboard {
UITextInputMode *currentInputMode = [[UIApplication sharedApplication] textInputMode];
NSString *currentInputModeClass = NSStringFromClass([currentTextInputMode class]);
if ([currentInputModeClass isEqualToString:@"UIKeyboardExtensionInputMode"]) {
return YES;
}
return NO;
}
网友评论