0

更新(已解决):) 我试图从头开始重新创建我的场景。而且我发现如果表格视图控制器的类是“UITableViewController”,那么当键盘出现时视图的重新定位会正确发生。但是当我将表视图控制器的类设置为我的自定义类时,不会发生重新定位。为什么会这样?鉴于我的自定义类是 UITableViewController 的子类,并且在我的实现中没有实现任何数据源和数据委托,因为我使用的是静态单元格?

我忘了在我的接口声明中添加委托。现在它已经开始工作了。

@interface CustomClass : UITableViewController <UITableViewDelegate>

我有一个 UITableViewController,其中 tableview 内容是静态单元格,样式很简单。我添加了 7 个表格视图单元格。在每个单元格中,我添加了一个文本字段。

当我单击表格视图单元格时,键盘显示但表格视图没有重新定位;从而隐藏了我选择的表格视图单元格。

我之前已经解决了这个问题,但是我使用了一个视图控制器,然后我将它嵌入到一个滚动视图中。但是从文档中可以看出,默认情况下具有滚动视图的 UITableViewController 应该会自动调整其表格视图的大小和位置。

我正在使用 XCode 5 并使用 iOS 7 最新版本。

4

4 回答 4

0

每当 textField 的操作为 didBeginEditing 时,您都可以更改 tableView 的偏移量 (y)。

如果您需要更多帮助,请告诉我;D

于 2013-10-06T13:02:09.683 回答
0

它应该自动更改其大小,但不一定要调整其位置/偏移量。

您确定表格视图仍然覆盖整个屏幕,甚至在键盘下方?
您可以通过滚动并查看滚动条来检查这一点。

如果要调整内容偏移量,请在用户开始编辑文本字段时在回调中进行。

于 2013-10-06T13:02:28.847 回答
0

去掉设置表格视图内容偏移的代码。

具有第一响应者状态的文本字段的表格单元格应在键盘上方自动滚动。您不必为此编写代码。

如果您使用的是静态单元格,请确保您的表格视图控制器没有实现表格视图数据源方法。此外,您拖到 IB 画布上的视图控制器必须是 UITableViewController;它不能是包含从对象库中拖出的 UITableView 的 UIViewController。

于 2013-10-07T02:46:43.380 回答
0

经过彻底检查,我意识到,我的自定义类只是 UITableViewController 的子类而不添加委托:(

下面解决了问题......终于!:)

@interface CustomClass : UITableViewController <UITableViewDelegate>
于 2013-10-07T13:55:43.737 回答