m_listView:textview在tableview上,同时需要修改tableview高度
//注册观察者
[[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)keyboarWillShow:(NSNotification*)obj{
//获取键盘的高度
NSDictionary *userInfo = [obj userInfo];
NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRect keyboardRect = [aValue CGRectValue];
int height = keyboardRect.size.height;
[UIView animateWithDuration:0.2f animations:^(){
[m_listView setFrame:CGRectMake(0, [Utility getNavBarHight], ScreenWidth, ScreenHeight - [Utility getNavBarHight] - 50 - height)];
[menuView setFrame:CGRectMake(0, ScreenHeight - 50-height, m_listView.frame.size.width, 50)];
}];
[m_listView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:m_listView.curText.tag inSection:0] atScrollPosition:UITableViewScrollPositionNone animated:YES];
}
-(void)keyboardWillBeHidden:(NSNotification*)obj{
[UIView animateWithDuration:0.3f animations:^(){
[m_listView setFrame:CGRectMake(0, [Utility getNavBarHight], ScreenWidth, ScreenHeight - [Utility getNavBarHight] - 50)];
[menuView setFrame:CGRectMake(0, m_listView.frame.origin.y+ m_listView.frame.size.height, m_listView.frame.size.width, 50)];
}];
}
原文地址:http://www.cnblogs.com/ldc529/p/3832260.html