在tableview单元格上的自定义触摸区域与复选框iphone

时间:2010-12-18 22:48:13

标签: iphone objective-c iphone-sdk-3.0 uitableview

我在表格视图单元格中添加了一个复选框,这是一个带有两个图像的自定义按钮。点击这个工作正常,因为我可以检查和取消选中。

问题是当你点击行的其余部分时,它仍然会选中复选框/按钮。如果我注释掉didSelectRowAtIndexPath它就不会发生,所以我想知道如何解决这个问题?

我满意的解决方案是只允许选择附件披露指标,但似乎没有办法实现这一点。

对不起,如果这是一个非常糟糕的问题,我很累!如果您需要代码,请告诉我。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

WedAppDelegate *delegate = (WedAppDelegate *)[[UIApplication sharedApplication] delegate];

PlanTaskShowViewController *planTaskShowViewController = [[PlanTaskShowViewController alloc] initWithNibName:@"PlanTaskShowViewController" bundle:nil];

[delegate.navController pushViewController:planTaskShowViewControlleranimated:YES];

[planTaskShowViewController release];
}

2 个答案:

答案 0 :(得分:1)

在前面放一个按钮而不是图像,只在单击按钮时进行选择(更改按钮的图像)。

OR

在图片上放置一个点击事件监听器/手势识别器

UITapGestureRecognizer *singleFingerDTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(changeImage:)];
[imageView addGestureRecognizer:singleFingerDTap];
[singleFingerDTap release];

//编辑:

如果您对highlightedImageUIImageView使用UIButton,则在选择UITableViewCell时会突出显示该{{1}}。这是一个非常好的功能,但有时它只会令人困惑;)

答案 1 :(得分:0)

检查一下:

UITapGestureRecognizer * singleFingerDTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(changeImage :)]; [imageView addGestureRecognizer:singleFingerDTap]; [singleFingerDTap发布];