我的表格单元格左侧是图像。现在,每次敲击单元格时,图像都会发生变化,但我只希望在单击单元格的左侧区域时更改图像。我怎么能这样做?
现在我有:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
{
if (cell.imageView.image == [UIImage imageNamed:@"checkboxfull.png"]) {
cell.imageView.image = [UIImage imageNamed:@"checkboxblank.png"];
}
else if(cell.imageView.image == [UIImage imageNamed:@"checkboxblank.png"]) {
cell.imageView.image = [UIImage imageNamed:@"checkboxfull.png"];
//[alert show];
}
}
答案 0 :(得分:4)
表格单元格只是UIView
。创建一个自定义单元格并使用UIImageView
子类或响应您的水龙头的按钮。
或者使用表格单元格的- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
并计算位置。
有关表格单元格的信息,请查看here
答案 1 :(得分:2)
我建议为每个'UIImageView'添加'UIGestureRecognizer',请参阅Apple Docs。 要确定选择了哪个图像,请使用标签...
答案 2 :(得分:0)
为了给Erik提供更多帮助,我只会打电话给超级,如果它在我想要的地方。
- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
UITouch *touch = touches.anyObject;
CGPoint location = [touch locationInView:self.addRemoveButton];
if (CGRectContainsPoint(self.addRemoveButton.bounds, location))
{
[super touchesEnded:touches withEvent:event];
}
}