2014-11-18 4 views
2

Я хочу обрабатывать клавиатурные уведомления, чтобы перемещать текстовое поле вверх и вниз по краю его как на портрете, так и на пейзаже. Как получить высоту клавиатуры в портрете и пейзаж для достижения этого?Как получить высоту клавиатуры для портрета и пейзажа в IPhone и IPad

+0

г у попытаться в ios7 или ios8 –

+0

Г.Д. вопрос моего друга, –

+0

я хочу работать в обоих ios7 и ios8 –

ответ

1

Вы можете найти Высота клавиатуры, используя следующий код.

// Works in both portrait and landscape mode 
CGRect kbRect = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue]; 
kbRect = [self.view convertRect:kbRect toView:nil]; 

CGSize kbSize = kbRect.size; 


NSLog(@"Keyboard Height: %f Width: %f", kbSize.height, kbSize.width); 
3

использовать этот код

- (void)keyboardWillShow:(NSNotification*)note { 
     NSDictionary* info = [note userInfo]; 
     CGSize _kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size; 
     float kbHeight = _kbSize.width > _kbSize.height ? _kbSize.height : _kbSize.width; 
} 

он будет работать во всех случаях. Сообщите мне, если это работает.

+1

IOS 7 и IOS 8 ведут себя по-разному, но это решение фиксирует это! Благодаря! – Borzh