【发布时间】:2014-11-13 05:10:31
【问题描述】:
当您继承UITableViewController 时,您通常会“免费”获得某些行为。例如,当表格视图中的文本字段成为第一响应者时,视图控制器会自动滚动以确保该字段完全可见。
但是,当表格视图控制器是 UISplitViewController 的详细视图控制器时,此自动滚动不再考虑键盘的存在。表格视图控制器仍将自动滚动以使文本字段保持在屏幕范围内,但不再滚动以防止字段被键盘覆盖。
您可以通过使用 Xcode 的“主从应用程序”模板创建一个新项目,并用一个表格视图控制器替换详细视图控制器来自己测试这一点,该控制器显示带有文本字段的单元格。
我想了解为什么在这种情况下自动滚动会停止占用键盘,如果可能的话,如何在不必自己复制自动滚动功能的情况下进行纠正。顺便说一句,这与覆盖 viewWillAppear 无关(就像这里关于表格视图控制器自动滚动的一些其他问题一样)。
【问题讨论】:
-
因此,如果它是主要的
UITableViewControllerUITableView响应UITextField开始编辑委托调用,那么接线可能是硬编码的,但是如果您的UITableViewController不是根控制器。我不知道,但这并不让我感到惊讶。这就是为什么我一开始就不喜欢使用UITableViewController,我认为这意味着您需要自己编写UITextField接线。
标签: ios uitableview uikit uisplitviewcontroller