UITableViewController作为较小视图中的子视图控制器-键盘故障

时间:2018-07-09 16:13:32

标签: ios

这是一个非常规的设置,我对此表示赞赏,但是我在另一个UITableView的UITableViewCell中添加了UITableViewController作为子视图控制器。哇好这是一个复杂的视图,并且可以在多个地方重复使用,代码很干净,并且可以工作98%,所以我很高兴。

问题是当Franken-TableViewController中的文本字段之一成为第一响应者时。因为控制器不知道它在哪里,或者它不在表视图单元格中,所以表视图滚动到错误的偏移量。我显然想要UITableViewController提供的自动滚动行为,但我意识到我将必须协助它确定滚动到的位置。

我不确定UITableViewController要确定要滚动到的参数。本文讨论的是一个非常类似的问题,并且还讨论了仅对单个子视图进行深度评估的事实。 Extra Space When Embedding Table Views

建议如何在不使用UITableViewController进行重构的情况下解决此问题?

1 个答案:

答案 0 :(得分:0)

答案是不使用UITableViewController。 是的,UITableViewController将为您提供键盘键盘输入,以免文本字段是免费的,但众所周知,没有免费的午餐之类的东西。

有几种方法可以停止动画的发生并重新计算自己,但实际上,归根结底,这只是个狡猾的骇客。

我最终将我的UITableViewControllers重构为UIViewControllers,其中IBOutlet到tableViews。您只需要自己添加一些键盘以避免代码,