2012-03-20 14 views
0

私はストーリーボードで定義したカスタムUITableViewCellを持っています。テーブルセル内の画像にジェスチャを追加しました。私はジェスチャーをうまくとらえてイメージを変えます。ジェスチャが発生したときにテーブルセルを取得する

私が今必要とするのは、テーブルリストからtableCellを削除することですが、そのテーブルセルへの参照を見つけることができません。

テーブルセルindexPathまたはそのテーブルセルへの参照を取得するにはどうすればよいですか?後でスーパービューに登場したいとは思っていませんが、私にとってはもっと楽な方法が必要です。

ありがとうございました。

答えて

1

私は実際に解決策を見つけました。目標の行動を使って私はこれをしました。

-(void)checkMarkTapDetected:(id)sender { 
// Update the image 
UIImageView *checkMarkImage = (UIImageView *)[sender view]; 
checkMarkImage.image = [UIImage imageNamed:@"checkbox_checked.png"]; 

// Get recognizer and the place it fired in the tableview 
UIGestureRecognizer *gestureRecognizer = [[checkMarkImage gestureRecognizers] lastObject]; 
CGPoint location = [gestureRecognizer locationInView:self.tableView]; 

// Get table cell index based on gesture location in table view cell 
_checkMarkRowIndexPath = [self.tableView indexPathForRowAtPoint:location]; 
} 
+0

これは正しい方法でタグを使わないようにしてくれました! – jrturton

+0

ありがとうございました。私は時間を過ごすのが好きです。ハンマーよりも洗練されたソリューションを考えてみましょう。これが将来の誰かを助けてくれることを願っています。 – Michael

0

2つのオプションがあります。あなたはdeleteRowsAtIndexPaths:withRowAnimation:を使うことができます。あるいはreloadDataをあなたのtableViewに送ることができます。 reloadDataはデリゲートメソッドcellforRowAtIndexPath(および関連するメソッド)をもう一度呼び出すようになりますが、今回はそのセルを作成しません。あなたのnumberOfRowsInSectionは行の減少も反映する必要があります。

+0

私は少し質問を誤解したと思います。それは私がそれを言いました。実際にテーブルビューのdeleteメソッドを呼び出すためのセル参照を探していました。私は実際に解決策を考え出し、新しいメッセージに投稿します。 – Michael

関連する問題