我的应用程序中有一个自定义的tableView。在这个自定义单元格中,我有一个文本字段。当用户点击此文本字段时,键盘将会出现。此时,我想要更改Tableview中选定单元格的位置。在此,我附上了实际输出的快照,也附上了我预期的快照。
图1-普通屏幕,它包含自定义UITableView。

当我选择文本字段(在上图中标记为红色圆圈)时,键盘显示如图2所示。

但我希望将选定文本字段的位置更改为键盘的上方,如图3所示。

请帮我解决这个问题。
发布于 2014-12-10 17:36:31
如果您的代码中只有一个textField,最简单的方法可能是:
-Add作为键盘外观的观察者:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardAppear) name:UIKeyboardWillShowNotification object:nil];-And its方法:
-(void)keyboardAppear
{
[self.tableView setContentOffset:CGPointMake(0, yOfYourTextField)];
}如果您有多个textField,最好的选择是实现对所有这些textField的委托,并且它的委托滚动tableView。
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
[self.tableView setContentOffset:CGPointMake(0, textField.tag * 40 -70) animated:YES];
//.. more if you need
}而且,如果在UIViewController中使用UITableViewController而不是tableView,则滚动行为是自动的。
https://stackoverflow.com/questions/27397220
复制相似问题