• 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];
    
    }
  • 相关阅读:
    WPF关于改变ListBoxItem的颜色的注意事项以及如何找到ListBox中的ItemsPanel
    WPF中关于配置文件的读取
    C++虚函数和虚函数表
    gdb调试技巧
    libevent和基于libevent的网络编程
    Reactor模式详解
    Ubuntu Linux 下文件名乱码(无效的编码)的快速解决办法
    Linux进程间通信——使用共享内存
    Linux进程间通信——使用信号量
    布隆过滤器(Bloom Filter)详解
  • 原文地址:https://www.cnblogs.com/gcb999/p/3232986.html
Copyright © 2020-2023  润新知