zoukankan      html  css  js  c++  java
  • IOS中英文键盘判断方法学习

    - (void)keyboardWillChangeFrame:(NSNotification *)notification{  
        //  if(!isDisplayFaceBox){  
    #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_3_2  
        if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {  
    #endif  
    #if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_3_2  
            NSValue *keyboardBoundsValue = [[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey];  
    #else  
            NSValue *keyboardBoundsValue = [[notification userInfo] objectForKey:UIKeyboardBoundsUserInfoKey];  
    #endif  
            CGRect keyboardBounds;  
            [keyboardBoundsValue getValue:&keyboardBounds];

            if (keyboardBounds.size.height==252) {//处于汉文输入状态
                
                textChosedBoxShow=YES;
                if (keyBoardState==keyBoardKeepShow) {
                    if (lastKeyBoardHeight==252) {
                        return;
                    }
                    //TODO:让searchView 和 uitableView上移动 36
                    CGRect tblViewFrame=self.tableView.frame;
                    CGSize newSize=CGSizeMake(tblViewFrame.size.width, tblViewFrame.size.height-36);
                    tblViewFrame.size=newSize;
                    self.tableView.frame=tblViewFrame;
                    
                    CGPoint searchCenter=self.searchView.center;
                    CGPoint newCenter=CGPointMake(searchCenter.x, searchCenter.y-36);
                    self.searchView.center=newCenter;
    //                UIView *landView= [self.view viewWithTag:MainViewTag];
    //                CGPoint oldCenter=landView.center;
    //                landView.center=CGPointMake(oldCenter.x, oldCenter.y-36);
                }else if(keyBoardState ==keyBoardWillShow)
                {
                    [self keyBoardShowOffsetY:252];
                    
                }else{
                    [self keyBoardHidden];
                }
            }else{
                textChosedBoxShow=NO;//处于英文输入状态
                if (keyBoardState==keyBoardKeepShow) {
                    if (lastKeyBoardHeight==216) {
                        return;
                    }
                    CGRect tblViewFrame=self.tableView.frame;
                    CGSize newSize=CGSizeMake(tblViewFrame.size.width, tblViewFrame.size.height+36);
                    tblViewFrame.size=newSize;
                    self.tableView.frame=tblViewFrame;
                    
                    CGPoint searchCenter=self.searchView.center;
                    CGPoint newCenter=CGPointMake(searchCenter.x, searchCenter.y+36);
                    self.searchView.center=newCenter;
                }else if(keyBoardState ==keyBoardWillShow)
                {
                    [self keyBoardShowOffsetY:216];
                }else{
                    [self keyBoardHidden];
                }
            }
            lastKeyBoardHeight=keyboardBounds.size.height;
            NSLog(@"%@",NSStringFromCGRect(keyboardBounds));
            
    #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_3_2  
        }  
    #endif  
        //    }  

  • 相关阅读:
    sicp-py
    Ubuntu下找不到ttyUSB*问题解决
    Mysql基本命令及数据库存储位置
    open-vm-tools与VMware Tools
    64位ubuntu安装交叉编译工具链,显示找不到命令
    VMware Tools 继续运行脚本未能在虚拟机中成功运行。
    VMware Workstation 14安装VMware Tools
    VMware Workstation14 安装Ubuntu18.04
    Linux安装Sqlite
    mysql中文乱码
  • 原文地址:https://www.cnblogs.com/tx8899/p/2576017.html
Copyright © 2011-2022 走看看