@@ -190,9 +190,8 @@ - (void)setToUser:(User *)toUser{
190190 }else {
191191 self.placeHolder = @" 请输入私信内容" ;
192192 }
193-
194- [_inputTextView setText: inputStr];
195- [self textViewDidChange: _inputTextView];
193+ _inputTextView.selectedRange = NSMakeRange (0 , _inputTextView.text .length );
194+ [_inputTextView insertText: inputStr? inputStr: @" " ];
196195 }
197196}
198197
@@ -203,11 +202,15 @@ - (void)prepareToShow{
203202 [kKeyWindow addSubview: _emojiKeyboardView];
204203 [kKeyWindow addSubview: _addKeyboardView];
205204 if (_isAlwaysShow) {
206- [UIView animateWithDuration: 0.25 animations: ^{
207- [self setY: kScreen_Height - CGRectGetHeight (self .frame)];
208- } completion: ^(BOOL finished) {
205+ if ([self isCustomFirstResponder ]) {
209206 [[NSNotificationCenter defaultCenter ] addObserver: self selector: @selector (keyboardChange: ) name: UIKeyboardWillChangeFrameNotification object: nil ];
210- }];
207+ }else {
208+ [UIView animateWithDuration: 0.25 animations: ^{
209+ [self setY: kScreen_Height - CGRectGetHeight (self .frame)];
210+ } completion: ^(BOOL finished) {
211+ [[NSNotificationCenter defaultCenter ] addObserver: self selector: @selector (keyboardChange: ) name: UIKeyboardWillChangeFrameNotification object: nil ];
212+ }];
213+ }
211214 }else {
212215 [[NSNotificationCenter defaultCenter ] addObserver: self selector: @selector (keyboardChange: ) name: UIKeyboardWillChangeFrameNotification object: nil ];
213216 }
@@ -370,8 +373,9 @@ - (void)sendTextStr{
370373 NSString *sendStr = self.inputTextView .text ;
371374 if (sendStr && ![sendStr isEmpty ] && _delegate && [_delegate respondsToSelector: @selector (messageInputView:sendText: )]) {
372375 [self .delegate messageInputView: self sendText: sendStr];
373- self.inputTextView .text = nil ;
374- [self textViewDidChange: _inputTextView];
376+
377+ _inputTextView.selectedRange = NSMakeRange (0 , _inputTextView.text .length );
378+ [_inputTextView insertText: @" " ];
375379 }
376380}
377381- (BOOL )textView : (UITextView *)textView shouldChangeTextInRange : (NSRange )range replacementText : (NSString *)text {
@@ -403,10 +407,7 @@ - (void)atSomeUser:(User *)curUser inTextView:(UITextView *)textView andRange:(N
403407 }else {
404408 appendingStr = @" @" ;
405409 }
406- textView.text = [textView.text stringByReplacingCharactersInRange: range withString: appendingStr];
407- textView.selectedRange = NSMakeRange (range.location +appendingStr.length , 0 );
408- [self textViewDidChange: textView];
409- [self notAndBecomeFirstResponder ];
410+ [textView insertText: appendingStr];
410411}
411412- (void )textViewDidChange : (UITextView *)textView {
412413 [self saveInputStr ];
@@ -496,10 +497,7 @@ - (void)emojiKeyBoardView:(AGEmojiKeyboardView *)emojiKeyBoardView didUseEmoji:(
496497 [self .delegate messageInputView: self sendBigEmotion: emotion_monkey];
497498 }
498499 }else {
499- NSRange selectedRange = self.inputTextView .selectedRange ;
500- self.inputTextView .text = [self .inputTextView.text stringByReplacingCharactersInRange: selectedRange withString: emoji];
501- self.inputTextView .selectedRange = NSMakeRange (selectedRange.location +emoji.length , 0 );
502- [self textViewDidChange: self .inputTextView];
500+ [self .inputTextView insertText: emoji];
503501 }
504502}
505503
0 commit comments