首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >动态改变iOS中UITableViewCell的位置

动态改变iOS中UITableViewCell的位置
EN

Stack Overflow用户
提问于 2014-12-10 17:18:33
回答 1查看 633关注 0票数 0

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

图1-普通屏幕,它包含自定义UITableView。

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

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

请帮我解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2014-12-10 17:36:31

如果您的代码中只有一个textField,最简单的方法可能是:

-Add作为键盘外观的观察者:

代码语言:javascript
运行
复制
  [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardAppear) name:UIKeyboardWillShowNotification object:nil];

-And its方法:

代码语言:javascript
运行
复制
  -(void)keyboardAppear
{
[self.tableView setContentOffset:CGPointMake(0, yOfYourTextField)];
}

如果您有多个textField,最好的选择是实现对所有这些textField的委托,并且它的委托滚动tableView。

代码语言:javascript
运行
复制
 -(void)textFieldDidBeginEditing:(UITextField *)textField
{
[self.tableView setContentOffset:CGPointMake(0, textField.tag * 40 -70) animated:YES];
//.. more if you need
}

而且,如果在UIViewController中使用UITableViewController而不是tableView,则滚动行为是自动的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27397220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档