Если я правильно понимаю вашу проблему, я считаю, что недавно столкнулся с той же проблемой.Я нашел ответ в учебнике по macheads 101 на YouTube.Его пример имел дело с UITableView, который изменил свой размер для учета отображения клавиатуры.
[[NSNotificationCenter defaultCenter] addObserver:self selector:
@selector(keyBoardHidden:) name:UIKeyboardWillHideNotification object:nil];
это в методе viewDidLoad, и он вызывает keyBoardHidden, который выглядит следующим образом:
- (void)keyBoardHidden:(NSNotification *)note {
//[[self tableView:tableView cellForRowAtIndexPath:0].textLabel setText:@""];
//[tableView setFrame:self.view.bounds];
CGRect searchBarFrame = searchBar.frame;
CGRect newTableViewFrame = CGRectMake (0, (float)searchBarFrame.size.height,
320, 480);
[tableView setFrame:newTableViewFrame];
}
Heизменил размер фрейма с помощью простой команды [tableView setFrame: self.view.bounds];но это оставило верхнюю ячейку скрытой за панелью поиска, которую я первоначально решил, просто отключив первую ячейку, но затем я решил, что это кустарная лига, и велел фрейму UITableView начать внизу панели поиска.Я оставил другое решение в комментариях, хотя на тот случай, если оно вам пригодится.
К сожалению, это только пример.Я не обладаю достаточными знаниями, чтобы сказать вам, где реализовать эти методы в вашем коде.Я надеюсь, что это все равно полезно.