Ios 为makeFirstResponder提供屏幕外表格单元格子视图的最佳方法

Ios 为makeFirstResponder提供屏幕外表格单元格子视图的最佳方法,ios,uitableview,Ios,Uitableview,我基于一个提要创建了一个表视图,该提要基本上包含许多表单类型元素。可以将其视为包含两种类型的元素文本框和消息。文本框类型单元格应包含UITextFields,消息类型单元格应包含不可编辑的UITextArea 我已经创建了一个自定义单元格来处理每种类型,并将它们呈现到一个表中。到目前为止还不错 客户端请求了一个prev/next/done inputAccessoryView,就像safari用于html表单的视图一样。稍后我做了一些工作,让它启动并运行,我添加了一些功能,使prev/next跳

我基于一个提要创建了一个表视图,该提要基本上包含许多表单类型元素。可以将其视为包含两种类型的元素文本框和消息。文本框类型单元格应包含UITextFields,消息类型单元格应包含不可编辑的UITextArea

我已经创建了一个自定义单元格来处理每种类型,并将它们呈现到一个表中。到目前为止还不错

客户端请求了一个prev/next/done inputAccessoryView,就像safari用于html表单的视图一样。稍后我做了一些工作,让它启动并运行,我添加了一些功能,使prev/next跳过消息类型的单元格,只有在找到文本框类型的单元格时才调用makeFirstResponder。但事情似乎进展顺利

然后,在测试中,我添加了一条很长的消息来测试我的行高设置代码。当我尝试通过此消息单元格上一个或下一个时,它会失败,原因是:

2012-02-21 11:34:36.642 MobileMarketing[52410:13a03] -[ContactFormTableViewController selectUpdate:]: unrecognized selector sent to instance 0x89802f0
2012-02-21 11:34:36.643 MobileMarketing[52410:13a03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[ContactFormTableViewController selectUpdate:]: unrecognized selector sent to instance 0x89802f0'

我认为这是因为消息远侧的目标字段(现在在屏幕外)已退出队列。我正在仔细阅读。但对于一个简单的问题来说还有很长的路要走。有人有处理此问题的好方法吗?

如果我正确理解您的问题,您可以使用
ScrollToRowatineXpath:atScrollPosition:animated来解决此问题,如下所示:


如果滚动到下一个单元格,您可以在尝试创建FirstResponder之前保证它存在。

如果我正确理解您的问题,您可以使用
ScrollToRowatinePath:atScrollPosition:animated
解决此问题,如下所示:


如果您滚动到下一个单元格,您可以在尝试创建FirstResponder之前保证它存在。

我只是在尝试相同的大单元格,但当我抓取单元格时,它还不存在(还没有)。但是,我假设在滚动完成时有一个要挂起的事件。
ScrollViewDiEndScrollingAnimation:
应该注意这一点。一个无关的虫子把我送进了杂草丛中,但这确实解决了我的问题。另一方面,如果ScrollToRowatineXpath:不会导致实际的滚动,那么ScrollViewDiEndScrollingAnimation:永远不会被调用,则会增加一条皱纹。我只是尝试使用相同的大屏幕,但当我抓取单元格时,它还没有出现(尚未出现)。但是,我假设在滚动完成时有一个要挂起的事件。
ScrollViewDiEndScrollingAnimation:
应该注意这一点。一个无关的虫子把我送进了杂草丛中,但这确实解决了我的问题。另一方面,如果ScrollToRowatinePath:未导致实际滚动,则ScrollViewDiEndScrollingAnimation:永远不会被调用,则会添加一个褶皱。