zoukankan      html  css  js  c++  java
  • ios中键盘处理适合ipad 和iphone

      
      [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(keyboardWasShown:)
                                                     name:UIKeyboardDidShowNotification object:nil];
    
        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(keyboardWasHidden:)
                                                     name:UIKeyboardDidHideNotification object:nil];
    
    =======
    -(void)keyboardWasShown:(NSNotification*)aNotification{
        
        NSDictionary *info=[aNotification userInfo];
    
        CGRect KeyBoardrect=[info[UIKeyboardBoundsUserInfoKey] CGRectValue];
        int curve=[info[UIKeyboardAnimationCurveUserInfoKey] intValue];
        CGFloat duration=[info[UIKeyboardAnimationDurationUserInfoKey] floatValue];
        UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
         UIView *firstResponder = [keyWindow performSelector:@selector(firstResponder)];
         if ([NSStringFromClass([firstResponder class]) isEqualToString:@"UITextView"]) {
    
             CGFloat height=self.view.bounds.size.height;//view的高度
             CGFloat y=self.remarksTextView.frame.origin.y+KHeight;//文本框的高度
             CGFloat keyboardheight=KeyBoardrect.size.height+44;//键盘高度--》中文高度44
             CGFloat h=height-y-keyboardheight;
             NSLog(@"%@--keyboard->",info);
             NSLog(@"height=%f-- -->",height);
             
             if(h<0){
                 [UIView beginAnimations:nil context:nil];
                 [UIView setAnimationCurve:curve];
                 [UIView setAnimationDuration:duration];
                 CGRect rect=self.view.frame;
                 rect.origin.y+=h;
                 self.view.frame=rect;
                 [UIView commitAnimations];
             }
         }
    }
    
    -(void) keyboardWasHidden:(NSNotification*)aNotification
    {
        NSDictionary *info=[aNotification userInfo];
    
        int curve=[info[UIKeyboardAnimationCurveUserInfoKey] intValue];
        CGFloat duration=[info[UIKeyboardAnimationDurationUserInfoKey] floatValue];
        
        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationCurve:curve];
        [UIView setAnimationDuration:duration];
        self.view.frame=_lastRect;
        [UIView commitAnimations];
    
    }
  • 相关阅读:
    Python 的 IDLE 编辑器
    Android中如何在Eclipse中关联源代码?(图文)
    HTMl5的存储方式sessionStorage和localStorage详解
    HTML的 <u> 标签
    CSS巧妙实现分隔线的几种方法
    关于ajax跨域请求(cross Domain)
    JQuery中$.ajax()方法参数都有哪些?
    最优雅,高效的javascript字符串拼接
    深入学习JavaScript: apply 方法 详解(转)——非常好
    jQuery.ajax() 函数详解
  • 原文地址:https://www.cnblogs.com/gcb999/p/3232986.html
Copyright © 2011-2022 走看看