У меня есть табличное представление с четырьмя разделами и всего 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];
}