[[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{ CGRect rect = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue]; CGFloat ty = rect.size.height; [UIView animateWithDuration:[note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue] animations:^{ self.view.transform = CGAffineTransformMakeTranslation(0, - ty + 170); }]; } #pragma mark 键盘即将退出 - (void)keyBoardWillHide:(NSNotification *)note{ [UIView animateWithDuration:[note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue] animations:^{ self.view.transform = CGAffineTransformIdentity; }]; } - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { if (![self.remarkTextView isExclusiveTouch]||(![self.remarkTextView isExclusiveTouch])) { [self.remarkTextView resignFirstResponder]; [self.qqTextField resignFirstResponder]; } } - (BOOL)textFieldShouldReturn:(UITextField *)textField{ [textField resignFirstResponder]; return YES; } -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{ if([text isEqualToString:@" "]){ [textView resignFirstResponder]; return NO; } return YES; }