我需要知道当前的键盘类型。我在
中设置了一个实例变量- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
但是,测试表明,由于通知的异步性,这并不总是可靠的。
我想知道的是,是否有人可以告诉我如何确定当前的键盘类型 通知?
- (void)keyboardDidShow:(NSNotification *) {
// Need way to determine keyboard type here
}
感谢。
答案 0 :(得分:4)
如果您询问键盘的语言,只能使用UITextInputMode class方法在iOS4.2及更高版本中完成:+[UITextInputMode currentInputMode];
如果你想要大小(因为根据语言大小可以改变)很容易,从对象获取密钥UIKeyboardBoundsUserInfoKey的大小
- (void)keyboardWasShown:(NSNotification*)aNotification{
NSDictionary* info = [aNotification userInfo];
NSValue* aValue = [info UIKeyboardFrameEndUserInfoKey];
CGSize keyboardSize = [aValue CGRectValue].size;
//I just got the size! ... do something with it
}