歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 自適應iOS的不同鍵盤高度

自適應iOS的不同鍵盤高度

日期:2017/3/1 10:29:50   编辑:Linux編程

在iOS 5中,鍵盤的高度是會變化的,比如切換到中文輸入法時會在鍵盤上方多出一層候選字區域,如下圖:

而在英文輸入法下是沒有文字候選區域的。

因此在用戶輸入場景下,布局的美觀和可用性可能受到鍵盤高度變化的影響,因此需要動態適應鍵盤高度。

解決方案是監聽鍵盤呼出事件的消息:

  1. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];

針對鍵盤高度做出自適應:

  1. - (void)keyboardWillShow:(NSNotification *)notification
  2. {
  3. static CGFloat normalKeyboardHeight = 216.0f;
  4. NSDictionary *info = [notification userInfo];
  5. CGSize kbSize = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size;
  6. CGFloat distanceToMove = kbSize.height - normalKeyboardHeight;
  7. //自適應代碼
  8. }

最後,移除觀察者。

Copyright © Linux教程網 All Rights Reserved