在前 5 个单元格后未调用 didSelectRowAtIndexPath
Posted
技术标签:
【中文标题】在前 5 个单元格后未调用 didSelectRowAtIndexPath【英文标题】:didSelectRowAtIndexPath not called after first 5 cells 【发布时间】:2013-08-06 13:22:32 【问题描述】:我的桌子相对简单,与我以前做过的许多桌子并没有根本不同。然而 didSelectRowAtIndexPath
仅在表格的前 5 个单元格上调用。之后,当我点击时,调试语句不会出现。我在这里研究了这个问题,并排除了其他问题中提到的一些可能性:
- 表代表已正确设置。
- GestureRecognizer
(我设置的)没有吞下印刷机。
- willSelectRowAtIndexPath
未实现
下面是我的didSelectRowAtIndexPath
。让我知道我还能提供什么来帮助解决这个问题。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
NSLog(@"didSelect");
NSArray *visibleCells = [partOfSpeechTable visibleCells];
UITableViewCell *cell = [visibleCells objectAtIndex:indexPath.row];
NSNumber *checkedState = [checkedStates objectAtIndex:indexPath.row];
if ([checkedState boolValue])
[cell setAccessoryType:UITableViewCellAccessoryNone];
[checkedStates setObject:[NSNumber numberWithBool:NO] atIndexedSubscript:indexPath.row];
else
[cell setAccessoryType:UITableViewCellAccessoryCheckmark];
[checkedStates setObject:[NSNumber numberWithBool:YES] atIndexedSubscript:indexPath.row];
[[tableView cellForRowAtIndexPath:indexPath] setSelectionStyle:UITableViewCellSelectionStyleNone];
(我可以注释掉所有附属的东西,没有区别)。
感谢您的帮助。
【问题讨论】:
这 5 个单元格是唯一不滚动可见的单元格吗? 感谢您的评论,圣诞老人。实际上,在放弃并在这里发布之后,我马上就找到了答案。我的表格位于另一个 UIView 中,我用它来垂直滑动某些元素,并且 UIView 的长度不足以容纳表格。因此表格将完整显示,但表格中超出包含视图截断的部分没有响应用户交互。我会发布这个作为答案。 【参考方案1】:事实证明,包含视图比表格本身短。该表已完整显示,但包含视图的截断下方的部分未响应用户交互。解决方案是增加包含视图的大小。
【讨论】:
如何增加包含视图大小请帮助我在 tableview 中遇到同样的问题。谢谢。 感谢 Jason,我一直在寻找答案。【参考方案2】:我遇到过类似的问题,可能是因为
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
return 20;
设置该单元格的大小,使其适合视图。
【讨论】:
【参考方案3】:我和杰森有同样的问题。在我的例子中,只有第一行的单元格没有调用 didSelectRowAtIndexPath。我在 xib 文件中增加了 tableview 的包含视图(或者您可以通过编程方式进行)。
【讨论】:
【参考方案4】:如果didSelectRowAtIndexPath
仅对某些单元格调用并且应用程序正在模拟器中运行,则尝试重置模拟器。
菜单Hardware > Erase All Content and Settings...
【讨论】:
以上是关于在前 5 个单元格后未调用 didSelectRowAtIndexPath的主要内容,如果未能解决你的问题,请参考以下文章
didDeselectRowAtIndexPath 仅在按下另一个单元格后调用[重复]
在 FirstVC 中选择单元格后,如何为 SecondVC 中的每个单元格调用按钮操作?