This question already has answers here:
Disabling automatic scrolling of UITableView when editing UITextField inside UITableViewCell

(9 个回答)


2年前关闭。




我有一个 UITableViewController,每个单元格都包含一个 UITextView 位于每个单元格顶部的单元格。
自然地,当与 textBox 的交互开始时,键盘将出现,同时整个表格也会随着键盘出现而向上滚动,从而导致 textBox 消失。

因为我已经为我的 tableView 启用了分页,所以在向上滚动后它会再次向下滚动,以便 textBox 在 View 中。

我想知道是否可以在键盘出现时禁用表格滚动,如果是,如何?

最佳答案

自动滚动行为位于 UITableViewCONTROLLER 功能中。要禁用自动滚动,我找到了两种方法:

1) 使用而不是 UITableViewController 只是一个 UIViewController - 自己设置数据源和委托(delegate)

2) 覆盖 viewWillAppear-Routine - 并且不要调用 [super viewWillAppear: animation]
使用这两种解决方案,您不仅可以禁用 Autoscroll,还可以禁用其他一些不错但不

Apple 的类引用概述中描述的基本功能:http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewController_Class/Reference/Reference.html

关于ios - 出现键盘时如何阻止 tableView 滚动?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22447614/

10-10 21:03
查看更多