歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

自適應iOS的不同鍵盤高度

在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.       
  5.     NSDictionary *info = [notification userInfo];  
  6.     CGSize kbSize = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size;  
  7.       
  8.     CGFloat distanceToMove = kbSize.height - normalKeyboardHeight;  
  9.       
  10.     //自適應代碼   
  11. }  

最後,移除觀察者。

Copyright © Linux教程網 All Rights Reserved