2

我有UItableViewController一个 containerView 内部,当我触摸其中一个单元格时,它不会调用didSelectRowAtIndexPath. 但是,如果我长按,则此方法会正常调用。

我用过storyboardand mydelegatedatasourceare my tableViewController

这是我的 tableViewController 代码:

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return nuberOfSections;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return nuberOfSections;  
}

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    return heightForHeader;
}

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
    return 0.01f;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    MWSideMenuTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"menuCell"];
    // cell settups
    return cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    // Some action done
}
4

2 回答 2

0

同样的问题发生在我身上,因为我在它上面添加了一个点击手势识别器。`

如果您使用过任何手势,请尝试将其移除

` 并检查它是否导致问题。

于 2017-08-17T06:28:46.760 回答
0

可能有三个原因

  1. 未设置委托
  2. 可能是 didselectrowatindexpath 中的错字
  3. 手势识别器可能用于容器 VC 或包含 VC
于 2015-08-17T18:36:55.390 回答