我的应用中有一些UITableViewControllers
。我在某些UITextFields
中有UITableViewCells
。有时,tableView
会在键盘出现时自行调整大小,但并非总是如此。
我附上了几个例子。两者都有UITextField
,即当前firstResponder
。我已经拖了两个屏幕截图来显示滚动指示器。
当键盘出现时左侧的UITableViewController
调整了tableView
的大小,但右侧的UITableViewController
没有。我做错了什么?
修改
感谢大家帮我解决这个问题。仍然没有解决。他们的UINavigationController
都有parentViewController
。右边的那个是UINavigationControllers
topViewController
,而左边的那个是topViewController
。任何帮助将不胜感激。
答案 0 :(得分:2)
所以,我已经找到了解决方法:
- (void)setContentInsetWithTextField:(UITextField *)textField
{
CGFloat keyboardHeight = 216;
CGFloat movement = (textField.isFirstResponder ? keyboardHeight : -keyboardHeight);
UIEdgeInsets contentInset = self.tableView.contentInset;
contentInset.bottom = contentInset.bottom + movement;
self.tableView.contentInset = contentInset;
}
在textFieldDidBeginEditing
和textFieldDidEndEditing
中调用此方法,它可以解决问题!