DAKeyboardControl icon indicating copy to clipboard operation
DAKeyboardControl copied to clipboard

while a UITextView is editing, click to a UITextField, would make a dead loop

Open aelam opened this issue 10 years ago • 1 comments

aelam avatar Apr 05 '14 11:04 aelam

I have reviewed the code the problem might be here, see below

- (void)reAssignFirstResponder
  {
   // Find first responder
   UIView *inputView = [self findFirstResponder];
   if (inputView != nil) {
       // Re assign the focus
     //        [inputView resignFirstResponder];   // <-- the two lines cause a dead loop 
  // after commented the above line, it works well on iOS7, iOS5 (I have no other devices)
          [inputView becomeFirstResponder];
   }

}

and I did a little improvement, in -inputKeyboardWillChangeFrame, - (void)inputKeyboardWillShow:,-inputKeyboardWillHide: we don't need animation if keyboard frame not change, see below

    - (void)inputKeyboardWillShow:(NSNotification *)notification
   {
       CGRect keyboardEndFrameWindow = [notification.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];

   CGRect keyboardBeginFrameWindow = [notification.userInfo[UIKeyboardFrameBeginUserInfoKey] CGRectValue];
   // if the frame of keyboard doesn't change, we just skip the animation
   if (CGRectEqualToRect(keyboardBeginFrameWindow, keyboardEndFrameWindow)) {
       self.keyboardActiveView.hidden = NO;
       if (self.panning && !self.keyboardPanRecognizer) {
           [self setupGestureRecognizer];
       }
       return;
   }

aelam avatar Apr 05 '14 11:04 aelam