iOS: получите правильную высоту клавиатуры третьего Part

Начиная с iOS8, многие показы клавиатуры ThirdPart, я хочу получить высоту клавиатуры, когда она показывает

NSDictionary* info = [aNotification userInfo]; CGSize kbSize = 
[[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size;

однако я могу получить высоту системной клавиатуры, но не могу получить третью часть клавиатуры (например, SouGouKeyboard), вместо этого она возвращает 0, как получить правильную высоту?

это возвращает:{ UIKeyboardAnimationCurveUserInfoKey = 7; UIKeyboardAnimationDurationUserInfoKey = "0.25"; UIKeyboardBoundsUserInfoKey = "NSRect: {{0, 0}, {320, 0}}"; UIKeyboardCenterBeginUserInfoKey = "NSPoint: {160, 568}"; UIKeyboardCenterEndUserInfoKey = "NSPoint: {160, 568}"; UIKeyboardFrameBeginUserInfoKey = "NSRect: {{0, 568}, {320, 0}}"; UIKeyboardFrameEndUserInfoKey = "NSRect: {{0, 568}, {320, 0}}"; }

1 ответ

Вы можете попробовать этот метод

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasShown:)name:UIKeyboardDidShowNotification    
    object:nil];

 - (void)keyboardWasShown:(NSNotification *)notification
{
  CGSize keyboardSize = [[[notification userInfo]objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
  int height = MIN(keyboardSize.height,keyboardSize.width);
  int width = MAX(keyboardSize.height,keyboardSize.width);
}
Другие вопросы по тегам