UITableViewController偶尔调整TableView的大小

时间:2014-04-16 18:25:35

标签: ios iphone objective-c uitableview uitextfield

我的应用中有一些UITableViewControllers。我在某些UITextFields中有UITableViewCells。有时,tableView会在键盘出现时自行调整大小,但并非总是如此。

我附上了几个例子。两者都有UITextField,即当前firstResponder。我已经拖了两个屏幕截图来显示滚动指示器。

当键盘出现时左侧的UITableViewController调整了tableView的大小,但右侧的UITableViewController没有。我做错了什么?

修改

感谢大家帮我解决这个问题。仍然没有解决。他们的UINavigationController都有parentViewController。右边的那个是UINavigationControllers topViewController,而左边的那个是topViewController。任何帮助将不胜感激。




enter image description here enter image description here

1 个答案:

答案 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;
}

textFieldDidBeginEditingtextFieldDidEndEditing中调用此方法,它可以解决问题!