関数で動作するカスタム イメージを取得しようとしていaccessoryButtonTappedForRowWithIndexPath
ます。私が理解していることから、これを行うには を使用する必要がありUIButton
、 に を追加するだけでは機能UIImageView
し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 delegate]: 認識されないセレクターがインスタンス 0x16f48160 に送信されました'