Прокрутка для просмотра текстового поля в нижнем колонтитуле UITableView - PullRequest
1 голос
/ 21 апреля 2011

У меня есть текстовое поле для ввода кода в нижний колонтитул UITableView.

Когда я щелкаю текстовое поле, появляется клавиатура, но я не уверен, как заставить прокручивать UITableView так, чтобы текстовое поле было видимым

Какой-нибудь пример кода для этого?

Ответы [ 2 ]

0 голосов
/ 21 апреля 2011

Получил этот код из предыдущего вопроса SO.

 - (void)textFieldDidBeginEditing:(UITextField *)textField
    {
        if(textField == birthdayTextField)
            [self animateTextField: textField up: YES];
    }


    - (void)textFieldDidEndEditing:(UITextField *)textField
    {
        if(textField == birthdayTextField)
            [self animateTextField: textField up: NO];
    }

    - (void) animateTextField: (UITextField*) textField up: (BOOL) up
    {
        const int movementDistance = 80;  //change this around
        const float movementDuration = 0.3f; //change this around

        int movement = (up ? -movementDistance : movementDistance);

        [UIView beginAnimations: @"anim" context: nil];
        [UIView setAnimationBeginsFromCurrentState: YES];
        [UIView setAnimationDuration: movementDuration];
        self.view.frame = CGRectOffset(self.view.frame, 0, movement);
        [UIView commitAnimations];
    }
0 голосов
/ 21 апреля 2011

, поскольку нижний колонтитул не может прокрутиться выше нижней точки таблицы, вам нужно переместить таблицу вверх, чтобы отобразить текстовое поле.

Здесь есть хороший пост: http://cocoawithlove.com/2008/10/sliding-uitextfields-around-to-avoid.html

...