2011-11-02 57 views
0

我有一个由自定义单元组成的UITableView。有21个单元格包含文本字段。具有文本字段滚动问题的iOS表格视图

当我尝试滚动和编辑UITableView底部的单元格时,我无法设法让我的单元格正确定位在键盘上方。

另外我为我的单元格分别创建了一个自定义单元类。因此,键盘代表只能在该类上使用。

我见过很多关于改变视图大小的答案,但是目前为止它们都没有很好地工作。

任何人都可以澄清“正确”的方式来做到这一点与具体的代码示例?

+0

您是否尝试过使用uitableviewcontroller类自动处理这些东西..... –

回答

0

有三种方法解决这个问题所有的扎入键盘都/会显示通知....

  1. 当键盘出现时,你移动整个视图(包括实现代码如下)为确保所选文本框显示在屏幕上,您可以通过获取键盘高度(来自通知)和文本框位置来计算此值。

  2. 您可以调整桌面视图的大小,使其仅与屏幕上覆盖的部分而不是一样大,再次从通知中获取高度。

  3. 您可以将tableview(对于底部值)的内容插入设置为键盘的高度。

如果需要,调整或重新定位的tableview时,您可能需要将其设置为滚动内容的文本字段的矩形,以确保它是鉴于...

- (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated; 
+0

感谢兄弟,但键盘出现在表视图单元类,其中只包含内容视图不是**整个**视图是否有任何方法被称为在行的每个单元格上 –

+0

它们的键盘是全局视图,因此即使它由单元格中的文本字段调用,也可以观察键盘来自你喜欢的任何地方的通知,在这种情况下来自包含你的表格的视图控制器。 –

+0

好的,谢谢这是一个很长的路,但只有我想 –