Restrição de Autolayout - Teclado

Estou preso tentando animar uma exibição de tabela sem problemas que tem uma restrição de autolayout. Eu tenho uma referência à restrição "keyboardHeight" no meu .h e vinculei isso ao IB. Tudo o que quero fazer é animar a exibição da tabela com o teclado quando ele aparecer. Aqui está o meu 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];
    }];
}

A coisa é que o bloco de animação é instantâneo e vejo espaço em branco aparecer antes do teclado terminar sua animação. Então basicamente eu vejo o fundo branco da vista enquanto o teclado está animando. Não consigo fazer a animação durar enquanto o teclado estiver animando.

Estou me aproximando disso da maneira errada? Desde já, obrigado!

questionAnswers(4)

yourAnswerToTheQuestion