userInteraction已启用,但未调用按钮操作

时间:2014-07-27 18:00:53

标签: ios uitableview

我是iOS编程新手。我的单元格是.nib。此单元格显示工作正常的图像。我不希望单元格执行任何操作或被选中。所以,我有以下代码:

cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.contentView.userInteractionEnabled = YES;

我的问题是我有一个触摸时没有调用的按钮。我在cell.m文件中定义了一个动作。但没有任何反应。我也试过以编程方式添加按钮,但是徒劳无功。我会感谢任何帮助或指示,因为我在过去的几个小时里尝试过这个。我很确定我做的事情很傻。

更新

这是我的单元xib结构的外观 - enter image description here

有cell.nib,cell.m和cell.h. MainViewController使用dequeueReusableCellWithIdentifier方法来获取单元格。这工作正常,因为我能够看到具有正确图像的单元格。动作方法在cell.m中定义 enter image description here

这是xib文件 https://www.dropbox.com/s/mzqzi6iz8lkbx2f/SHTableCell.xib

感谢。

1 个答案:

答案 0 :(得分:1)

检查了您分享的SHTableCell.xib后,您似乎已阻止用户在单元格上进行互动,因此在contentView / subView上启用用户互动不会产生任何影响。< / p>

在您的xib中,选择“Test Cell”并选中“User Interaction Enabled


此外,您似乎还没有为单元格指定重复使用标识符 如果您指定了一个,那么您的-cellForRowAtIndexPath:可以正确地重复使用该单元格会更好。

所以......如果你有类似的东西:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//...
    SHTableCell *cell = (SHTableCell*)[tableView dequeueReusableCellWithIdentifier:@"SomeIdentifier"];
//...
}

然后,“SomeIdentifier”首先应该是xib中的内容。