didSelectRowAtIndexPath仅在嵌入容器视图中的tableView上长按时调用

时间:2014-04-29 16:42:15

标签: ios objective-c uitableview uicontainerview

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

我使用了storyboard,我的delegatedatasourcetableViewController

这是我的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
}

2 个答案:

答案 0 :(得分:0)

可能有三个原因

  1. 委托未设置
  2. 可能是didselectrowatindexpath中的拼写错误
  3. 手势识别器可能在容器VC中使用或包含VC

答案 1 :(得分:0)

同样的问题发生在我身上,因为我在其上添加了一个轻拍手势识别器。 `

  

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

`并检查是否导致问题。