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  
    //    }  

原文地址:https://www.cnblogs.com/tx8899/p/2576017.html