Ograniczenie autoukładu - klawiatura

Utknąłem, próbując płynnie animować widok tabeli, który ma ograniczenie autolayout. Mam odniesienie do ograniczenia „keyboardHeight” w moim .h i połączyłem to w IB. Wszystko, co chcę zrobić, to animować widok tabeli za pomocą klawiatury, gdy się pojawi. Oto mój kod:

- (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];
    }];
}

Chodzi o to, że blok animacji jest natychmiastowy i widzę białe znaki, zanim klawiatura zakończy swoją animację. Więc zasadniczo widzę białe tło widoku, gdy klawiatura jest animowana. Nie mogę sprawić, by animacja trwała tak długo, jak długo klawiatura jest animowana.

Czy podchodzę do tego w niewłaściwy sposób? Z góry dziękuję!

questionAnswers(4)

yourAnswerToTheQuestion