Последние четыре строки табличного представления не выйдут из-под клавиатуры - PullRequest
0 голосов
/ 08 ноября 2011

У меня есть табличное представление с четырьмя разделами и всего 21 строкой, в которой каждая ячейка содержит текстовое поле справа.В представлении таблицы мне не удается правильно расположить последние четыре-пять ячеек над клавиатурой.Остальная часть таблицы расположена нормально.

Я вызывал этот метод в textFieldDidBeginEditing: с moveUp:YES и в textFieldShouldReturn: с NO.

#define kOFFSET_FOR_KEYBOARD 42
-(void)viewMoveUp:(BOOL)moveUp{

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.5]; 

    CGRect rect = self.view.frame;
    if (moveUp)
    {
        rect.origin.y -= kOFFSET_FOR_KEYBOARD;
        rect.size.height +=  kOFFSET_FOR_KEYBOARD;
    }
    else
    {
        // revert back to the normal state.
        rect.origin.y = 0;
        rect.size.height =  360;
    }
    self.view.frame = rect;

    [UIView commitAnimations]; 


}

1 Ответ

2 голосов
/ 08 ноября 2011

Упростите.

Используйте UITableViewController вместо UIViewController. UITableViewController будет обрабатывать изменение размера на клавиатуре для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...