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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM