- IPhone之键盘后面内容设置
当IPhone手机点击TextField的时候,键盘从下升起,会挡住输入内容框。如果是其他东西,如View,方法同理。
做法如下:
//首先注册键盘升起和降下时的事件(系统定义)
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
两个方法则实现操作背景内容:
- (void)keyboardWillShow:(NSNotification *)noti{
//键盘输入的界面调整
//键盘的高度
float height = 216.0;
CGRect frame = m_pTableView.frame;
frame.size = CGSizeMake(frame.size.width, frame.size.height - height);
[UIView beginAnimations:@"Curl"context:nil];//动画开始
[UIView setAnimationDuration:0.30];
[UIView setAnimationDelegate:self];
[m_pTableView setFrame:frame];
[m_pTableView scrollToRowAtIndexPath:selectedIndexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
[UIView commitAnimations];
}
//键盘降下时的操作
- (void)keyboardWillHide:(NSNotification *)noti
{
//键盘的高度
float height = 216.0;
CGRect frame = m_pTableView.frame;
frame.size = CGSizeMake(frame.size.width, frame.size.height+height);
[UIView beginAnimations:@"Curl"context:nil];//动画开始
[UIView setAnimationDuration:0.30];
[UIView setAnimationDelegate:self];
[m_pTableView setFrame:frame];
[m_pTableView scrollToRowAtIndexPath:selectedIndexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
[UIView commitAnimations];
}