我是iOS编程新手。我的单元格是.nib。此单元格显示工作正常的图像。我不希望单元格执行任何操作或被选中。所以,我有以下代码:
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.contentView.userInteractionEnabled = YES;
我的问题是我有一个触摸时没有调用的按钮。我在cell.m文件中定义了一个动作。但没有任何反应。我也试过以编程方式添加按钮,但是徒劳无功。我会感谢任何帮助或指示,因为我在过去的几个小时里尝试过这个。我很确定我做的事情很傻。
更新
这是我的单元xib结构的外观 -
有cell.nib,cell.m和cell.h. MainViewController使用dequeueReusableCellWithIdentifier方法来获取单元格。这工作正常,因为我能够看到具有正确图像的单元格。动作方法在cell.m中定义
这是xib文件 https://www.dropbox.com/s/mzqzi6iz8lkbx2f/SHTableCell.xib
感谢。
答案 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中的内容。