我的桌子相对简单,与以前的许多书架完全不同。然而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];
}
(我可以注释掉所有附件,但没有区别。)
感谢您的帮助。
答案 0 :(得分:7)
事实证明,包含视图比表本身短。该表格已完整显示,但包含视图的截止下方的部分未响应用户交互。解决方案是增加包含视图的大小。
答案 1 :(得分:2)
我可能因为
而面临类似的问题- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 20;
}
设置该单元格的大小,使其适合视图。
答案 2 :(得分:0)
答案 3 :(得分:0)
如果仅对某些单元格调用didSelectRowAtIndexPath
并且应用程序正在模拟器中运行,则尝试重置模拟器。
菜单Hardware > Erase All Content and Settings...