zoukankan      html  css  js  c++  java
  • [ios] 适应键盘高度变化

      1. - (void)regNotification  
      2. {  
      3.     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];  
      4. }  
      5.   
      6. - (void)unregNotification  
      7. {  
      8.     [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillChangeFrameNotification object:nil];  
      9. }  
      10.   
      11. #pragma mark - notification handler  
      12.   
      13. - (void)keyboardWillChangeFrame:(NSNotification *)notification  
      14. {  
      15.     NSDictionary *info = [notification userInfo];  
      16.     CGFloat duration = [[info objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue];  
      17.     CGRect beginKeyboardRect = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue];  
      18.     CGRect endKeyboardRect = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];  
      19.       
      20.     CGFloat yOffset = endKeyboardRect.origin.y - beginKeyboardRect.origin.y;  
      21.       
      22.     CGRect inputFieldRect = self.inputTextField.frame;  
      23.     CGRect moreBtnRect = self.moreInputTypeBtn.frame;  
      24.       
      25.     inputFieldRect.origin.y += yOffset;  
      26.     moreBtnRect.origin.y += yOffset;  
      27.       
      28.     [UIView animateWithDuration:duration animations:^{  
      29.         self.inputTextField.frame = inputFieldRect;  
      30.         self.moreInputTypeBtn.frame = moreBtnRect;  
      31.     }];  

  • 相关阅读:
    Android将TAB选项卡放在屏幕底部(转)
    unix进程间通信
    C优先级顺序(转)
    C/C++ 内存补齐机制
    Android Sqlite ORM 工具
    类型安全性测试
    反射手册笔记 2.程序集,对象和类型
    CLR笔记:15.委托
    反射手册笔记 4.创建对象
    反射手册笔记 1.灵活的编程方法
  • 原文地址:https://www.cnblogs.com/jinjiantong/p/3043920.html
Copyright © 2011-2022 走看看