我正在尝试让自定义图像与该accessoryButtonTappedForRowWithIndexPath
功能一起使用。据我了解,为了做到这一点,你必须使用 a UIButton
,简单地添加 aUIImageView
是UITableViewCellAccessoryDetailDisclosureButton
行不通的。
我的问题是如何将触摸手势从我的UITableViewCell
子类获取到父UITableView
函数中。
这是我的UITableViewCell
子类中的代码:
upVote = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *upVoteImg = [UIImage imageNamed:@"vote.png"];
upVote.frame = CGRectMake(self.frame.size.width-upVoteImg.size.width, 0, upVoteImg.size.width , upVoteImg.size.height);
[upVote setBackgroundImage:upVoteImg forState:UIControlStateNormal];
[self.contentView addSubview:upVote];
[upVote addTarget:self action:@selector(checkButtonTapped:event:) forControlEvents:UIControlEventTouchUpInside];
调用函数(也在 的子类中UITableViewCell
)
- (void)checkButtonTapped:(id)sender event:(id)event
{
UITableView *tableView = (UITableView *)self.superview;
[tableView.delegate tableView:tableView accessoryButtonTappedForRowWithIndexPath:[tableView indexPathForCell:self]];
}
它在上述函数的最后一行崩溃:
*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[UITableViewWrapperView 委托]:无法识别的选择器发送到实例 0x16f48160”