键盘弹出时如何动画UITableView?

2 iphone objective-c uitableview uitextfield

我有UITableView10行.每个细胞都有一个UITextField.

问题是,当我单击UITextField底部的单元格中时,键盘会弹出并阻止单元格.我怎么处理这个?我是否需要为tableview制作动画或其他内容?

更新的代码:

- (void)textFieldDidBeginEditing:(UITextField *)textField{
    self.vitalsTableView.contentInset=UIEdgeInsetsMake(0,0,200,0);
    NSIndexPath *path = [self.vitalsTableView indexPathForSelectedRow];
    [self.vitalsTableView scrollToRowAtIndexPath:path atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
Run Code Online (Sandbox Code Playgroud)

jav*_*log 5

使用- (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animatedUITableView的方法

例:

[tableView scrollToRowAtIndexPath:cellIndexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
Run Code Online (Sandbox Code Playgroud)

将tableView滚动到保持单元格可见的最低可能偏移量.如果您的单元格下面没有足够的单元格,则可以为表格设置contentInset以允许滚动偏移.

也许你的UITextField委托是表视图控制器.你可以打电话- (void)textFieldDidBeginEditing:(UITextField *)textField

在底部单元格的情况下:

- (void)textFieldDidBeginEditing:(UITextField *)textField{
    tableView.contentInset=UIEdgeInsetsMake(0,0,200,0);
    [tableView scrollToRowAtIndexPath:cellIndexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
}

- (void)textFieldDidBeginEditing:(UITextField *)textField{
    tableView.contentInset=UIEdgeInsetsMake(0,0,0,0);
}
Run Code Online (Sandbox Code Playgroud)