Restricción de Autolayout - Teclado

Me quedo atascado tratando de animar una vista de tabla sin problemas, que tiene una contraposición de reproducción automática. Tengo una referencia a la restricción "keyboardHeight" en mi .h y la he vinculado en IB. Todo lo que quiero hacer es animar la vista de tabla con el teclado cuando aparece. Aquí está mi código:

- (void)keyboardWillShow:(NSNotification *)notification
{
    NSDictionary *info = [notification userInfo];
    NSValue *kbFrame = [info objectForKey:UIKeyboardFrameEndUserInfoKey];
    NSTimeInterval animationDuration = [[info objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];
    CGRect keyboardFrame = [kbFrame CGRectValue];
    CGFloat height = keyboardFrame.size.height;

    [UIView animateWithDuration:animationDuration animations:^{
        self.keyboardHeight.constant = -height;
        [self.view setNeedsLayout];
    }];
}

La cosa es que el bloque de animación es instantáneo y veo que aparece un espacio en blanco antes de que el teclado haya terminado su animación. Básicamente veo el fondo blanco de la vista mientras el teclado está animando. No puedo hacer que la animación dure mientras el teclado esté animando.

¿Me estoy acercando a esto de la manera incorrecta? ¡Gracias por adelantado!

Respuestas a la pregunta(4)

Su respuesta a la pregunta