2012-06-28 67 views
10

的UITableViewController没有滚动视图我有大约20个静态细胞UITableViewController,一些细胞具有在其中UITextField S和一些只是用一个对号选择。该表大约有1.5个值,因此需要滚动以获取较低的文本字段。当键盘出现

当我一个文本字段中单击键盘弹出,因为它应该在表的底部,但此则出现在小区/文本框。

我在印象中(来自Apple文档和其他地方)UITableViewController类在任何方向出现键盘时自动滚动视图,并将表格视图向上移动以使单元格可见,但这不会发生虽然。

IOS 5.1,iPad的肖像。

+1

的可能重复[如何滚动的UITableViewCell键盘出现时,向上滚动?(http://stackoverflow.com/questions/8338737/how-to-scroll-the-uitableviewcell-scroll-up-when-the - 键盘 - 显示) – rishi

+1

不是DUP IMO,与静态细胞TVC的 –

+0

是仙人指出链接这个交易太实际工作为我的静态表的内容。但正如我所说,我认为这是为了在使用UITableViewController时自动工作,而不需要以编程方式管理滚动。 – GeoffCoope

回答

69

确保,如果要覆盖viewWillAppear您致电

[super viewWillAppear:animated]; 

如果你不这样做,滚动视图将无法正常滚动。

斯威夫特

super.viewWillAppear(animated) 
+0

尚未使用该方法。无论如何感谢 – GeoffCoope

+1

这对我(我应该一直在调用这个)。谢谢。 – Snips

+2

哦!非常感谢你,我以为我永远不会再让它自动工作) – DanSkeel

1

我就遇到了这个问题我自己。我只是将我视图控制器从一个UIViewController到一个UITableViewController除了加入[super viewWillAppear:animated];电话,你将需要删除这些行:

[self.tableView setDataSource:self]; [self.tableView setDelegate:self];

,因为他们不再需要setDelegate与键盘滚动干扰行为。

4

我找到这些问题的答案不正确。过了一段时间,我注意到如果你推动一个控制器它不会工作......但是如果你以模态方式呈现它......表格将自动滚动到使用的文本区域。

希望,节省了时间和压力给任何人。

+0

我有一个类似的问题,我现在用的容器视图。 – RyanJM