UITextView en un UITableViewCell muestra y redimensiona automáticamente el teclado en el iPad, pero funciona en iPhone

He implementado un UITableViewCell personalizado que incluye un UITextView que se redimensiona automáticamente a medida que el usuario escribe, similar al campo "Notas" en la aplicación Contactos. Funciona correctamente en mi iPhone, pero cuando lo estoy probando en el iPad, obtengo un comportamiento muy extraño: cuando llegas al final de una línea, el teclado se oculta durante un milisegundo y luego se muestra de nuevo inmediatamente. Lo escribiría solo como un error peculiar, pero en realidad causa una pérdida de datos, ya que si está escribiendo, pierde uno o dos caracteres. Aquí está mi código:

El código
// returns the proper height/size for the UITextView based on the string it contains.
// If no string, it assumes a space so that it will always have one line.
- (CGSize)textViewSize:(UITextView*)textView {
     float fudgeFactor = 16.0;
     CGSize tallerSize = CGSizeMake(textView.frame.size.width-fudgeFactor, kMaxFieldHeight);
     NSString *testString = @" ";
     if ([textView.text length] > 0) {
          testString = textView.text;
     }
     CGSize stringSize = [testString sizeWithFont:textView.font constrainedToSize:tallerSize lineBreakMode:UILineBreakModeWordWrap];
     return stringSize;
}

// based on the proper text view size, sets the UITextView's frame
- (void) setTextViewSize:(UITextView*)textView {
     CGSize stringSize = [self textViewSize:textView];
     if (stringSize.height != textView.frame.size.height) {
          [textView setFrame:CGRectMake(textView.frame.origin.x,
                                        textView.frame.origin.y,
                                        textView.frame.size.width,
                                        stringSize.height+10)];  // +10 to allow for the space above the text itself 
     }
}

// as per: https://stackoverflow.com/questions/3749746/uitextview-in-a-uitableviewcell-smooth-auto-resize
- (void)textViewDidChange:(UITextView *)textView {

     [self setTextViewSize:textView]; // set proper text view size
     UIView *contentView = textView.superview;
     // (1) the padding above and below the UITextView should each be 6px, so UITextView's
     // height + 12 should equal the height of the UITableViewCell
     // (2) if they are not equal, then update the height of the UITableViewCell
     if ((textView.frame.size.height + 12.0f) != contentView.frame.size.height) {
         [myTableView beginUpdates];
         [myTableView endUpdates];

         [contentView setFrame:CGRectMake(0,
                                          0,
                                          contentView.frame.size.width,
                                          (textView.frame.size.height+12.0f))];
     }
}

- (CGFloat)tableView:(UITableView  *)tableView heightForRowAtIndexPath:(NSIndexPath  *)indexPath {
     int height;
     UITextView *textView = myTextView;
     [self setTextViewSize:textView];
     height = textView.frame.size.height + 12;
     if (height < 44) { // minimum height of 44
          height = 44;
          [textView setFrame:CGRectMake(textView.frame.origin.x,
                                        textView.frame.origin.y,
                                        textView.frame.size.width,
                                        44-12)];
      }
      return (CGFloat)height;
}
Los problemas

Entonces, esto es lo que está pasando

Este código funciona 100% correctamente en mi iPhone y en el simulador de iPhone. A medida que escribo el texto, el UITextView crece sin problemas y el UITableViewCell junto con él.En el simulador de iPad, sin embargo, se vuelve loco. Funciona bien mientras escribe en la primera línea, pero cuando llega al final de una línea, el teclado desaparece y vuelve a aparecer de inmediato, de modo que si el usuario continúa escribiendo, la aplicación pierde uno o dos caracteres.Aquí hay algunas notas adicionales sobre los comportamientos extraños que he notado que pueden ayudar a explicarlo:Además, he descubierto que eliminar las líneas[myTableView beginUpdates]; [myTableView endUpdates];&nbsp;en la funcióntextViewDidChange:(UITextView *)textView&nbsp;hace que UITextView crezca correctamente y tampoco muestra ni oculta el teclado, pero desafortunadamente, UITableViewCell no crece a la altura adecuada.ACTUALIZAR:&nbsp;Siguiendoestas instrucciones, Ahora puedo detener el extraño movimiento del texto; pero el teclado aún se esconde y muestra, lo cual es muy extraño.

¿Alguien tiene alguna idea sobre cómo hacer que el teclado se muestre continuamente, en lugar de ocultar y mostrar cuando llegue al final de la línea en el iPad?

P.S .: No estoy interesado en usar ThreeTwenty.