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];
    
    }
  • 相关阅读:
    fastadmin的数据限制什么意思?具体是怎么配置的?
    jQuery上传剪切图片的原理和代码
    dedecms模板明明存在,还是报错:说模板不存在
    数据库基本信息查询
    数据库 --- 基础知识 1
    代码块分享
    并发编程知识内容汇总
    网络编程 与 并发编程 汇总
    并发编程 --- 线程补充2
    并发编程 --- 线程补充
  • 原文地址:https://www.cnblogs.com/gcb999/p/3232986.html
Copyright © 2011-2022 走看看