-(void)viewWillAppear:(BOOL)animated{
[superviewWillAppear:animated];
//系统发出的键盘通知有哪些
// UIKeyboardWillShowNotification
// UIKeyboardWillHideNotification
// UIKeyboardDidHideNotification
// UIKeyboardDidShowNotification
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showKeyboard:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(closekeyboard:) name:UIKeyboardWillHideNotification object:nil];
}
- (void)viewDidDisappear:(BOOL)animated{
[superviewDidDisappear:animated];
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];
}
-(void)showKeyboard:(NSNotification*)notification{
//打印键盘的布局样式信息
NSLog(@"%@",notification.userInfo);
NSInteger option = [notification.userInfo [UIKeyboardAnimationCurveUserInfoKey] integerValue];
NSTimeInterval duration = [notification.userInfo [UIKeyboardAnimationDurationUserInfoKey] floatValue];
CGFloat height = [notification.userInfo [UIKeyboardFrameEndUserInfoKey] CGRectValue].size.height;
self.bottomConstraint.constant = height;
[UIView animateWithDuration:duration delay:0 options:option animations:^{
[self.view layoutIfNeeded];
}completion:nil];
}
-(void)closekeyboard:(NSNotification*)notification{
self.bottomConstraint.constant = self.textFieldConstant;
}