先调用方法为键盘弹出收起添加监听事件
-(void)keyBoardConfig{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyBoardShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyBoardHide:) name:UIKeyboardWillHideNotification object:nil];
}
调用[self keyBoardConfig];
实现监听方法
#pragma mark-keyboard
//键盘收起
-(void)keyBoardHide:(NSNotification *)noti{
//这里获取键盘隐藏时间
CGFloat duration=[[noti.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue];
[UIView animateWithDuration:duration animations:^{
//隐藏期间要对视图进行的操作
} completion:nil];
}
//键盘弹出
-(void)keyBoardShow:(NSNotification *)noti{
//获得键盘的高度
CGFloat height=[[noti.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size.height;
CGFloat duration=[[noti.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue];
[UIView animateWithDuration:duration animations:^{
//键盘弹出期间要对视图进行的操作
//下面是把视图据下的约束拖出来 改变值 以达到文本框跟随键盘上升的样子
//self.buttomConstraint.constant=height;
//[self.view layoutIfNeeded];
} completion:nil];
}
效果图