IOS-中英文键盘判断方法学习
2012-07-04 12:56
274 查看
- (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
// }
}
// 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
// }
}
相关文章推荐
- IOS学习笔记 ­­­­­­— UITextField 输入完毕关闭键盘方法
- iOS键盘中英文切换键盘高度获取通知方法
- IOS学习:隐藏键盘方法
- IOS学习:隐藏键盘方法
- ios学习笔记之UI篇(一):隐藏键盘的方法
- 【代码笔记】iOS-判断中英文混合的字符长度的两种方法
- iOS键盘中英文切换键盘高度获取通知方法
- PHP针对中英文混合字符串长度判断及截取方法
- 【读书笔记】iOS-关闭键盘的2种方法
- ios 判断app程序第一次启动方法
- iOS关闭键盘的两种简单方法
- iOS 点击空白处收回键盘的方法
- IOS学习笔记之属性方法的选择
- iOS 获取系统键盘UIKeyboard方法
- iOS开发之回调delegate的方法时判断delegate是否已经被释放
- [iOS]获取当前界面上显示的键盘UIKeyboard方法
- Unity3d中使用OnGUI()函数判断“键盘按下抬起”功能的新方法。
- IOS 判断字符串为空的方法
- iOS判断是否越狱设备方法示例
- iOS学习之UISwitch控件两种使用方法和监听