监听
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboarWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillBeHidden:) name:UIKeyboardWillHideNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboarWillShow:) name:UIKeyboardWillChangeFrameNotification object:nil];
}
-(void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
-(void)keyboarWillShow:(NSNotification*)obj{
//获取键盘的高度
NSDictionary *userInfo = [obj userInfo];
NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRect keyboardRect = [aValue CGRectValue];
int height = keyboardRect.size.height;
// [UIView animateWithDuration:0.4f animations:^(){
// [m_ListView setFrame:CGRectMake(0, [Utility getNavBarHight], ScreenWidth, ScreenHeight - [Utility getNavBarHight] - height)];
// }];
//
// NSIndexPath *indexPath = nil;
// if (curEditTextField.tag == CreatView_Btn_Type) {
// indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
// }
// else if (curEditTextField.tag == CreatView_Btn_owner) {
// indexPath = [NSIndexPath indexPathForRow:0 inSection:1];
// }
// else if (curEditTextField.tag == CreatView_Btn_Location) {
// indexPath = [NSIndexPath indexPathForRow:2 inSection:1];
// }
// else if (curEditTextField.tag == CreatView_Btn_maxPersonNum) {
// indexPath = [NSIndexPath indexPathForRow:3 inSection:1];
// }
// else if (curEditTextField.tag == CreatView_Btn_Fee) {
// indexPath = [NSIndexPath indexPathForRow:4 inSection:1];
// }
// if (indexPath) {
// [m_ListView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionNone animated:YES];
// }
}
-(void)keyboardWillBeHidden:(NSNotification*)obj{
// [UIView animateWithDuration:0.4f animations:^(){
// [m_ListView setFrame:CGRectMake(0, [Utility getNavBarHight], ScreenWidth, ScreenHeight - [Utility getNavBarHight])];
// }];
}
原文地址:http://www.cnblogs.com/ldc529/p/3862380.html