#pragma mark - view life cycle - (void)viewDidLoad { [super viewDidLoad]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; }#pragma mark - 通知 /** * 键盘弹出 */ - (void)keyboardWillShow:(NSNotification *)note { // 1.取出键盘的高度 CGRect temp = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue]; CGFloat height = temp.size.height; // 2.让工具条向上平移 // 2.1取出键盘弹出的动画时间 NSTimeInterval timte = [note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue]; [UIView animateWithDuration:timte delay:0 options:7 << 16 animations:^{ self.bottomBar.transform = CGAffineTransformMakeTranslation(0, -height); } completion:nil]; } /** * 键盘隐藏 */ - (void)keyboardWillHide:(NSNotification *)note { // 2.1取出键盘弹出的动画时间 NSTimeInterval timte = [note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue]; // 清空transform [UIView animateWithDuration:timte delay:0 options:7 << 16 animations:^{ self.bottomBar.transform = CGAffineTransformIdentity; } completion:nil]; }