行ごとに 2 つの画像を持つ UITableView があります。これらの画像は、データ構造から取得されます。タップ イベントを設定し、選択した画像に基づいてタップ イベント ハンドラにデータ構造を取得させたいと考えています。コンテキスト データを関連付ける方法はありますか?
または、uiimage をデータにマップするマッピングを維持する必要がありますか?
また、画像ごとに個別のハンドラーを持ちたくありません。
行ごとに 2 つの画像を持つ UITableView があります。これらの画像は、データ構造から取得されます。タップ イベントを設定し、選択した画像に基づいてタップ イベント ハンドラにデータ構造を取得させたいと考えています。コンテキスト データを関連付ける方法はありますか?
または、uiimage をデータにマップするマッピングを維持する必要がありますか?
また、画像ごとに個別のハンドラーを持ちたくありません。
タップ ジェスチャを使用すると、次のような実装が可能です。
- (void)didRecognizeTapGesture:(UITapGestureRecognizer*)gesture
{
if (gesture.state == UIGestureRecognizerStateEnded)
{
CGPoint point = [gesture locationInView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:point];
if (indexPath != nil)
{
MyCustomCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
point = [self.tableView convertPoint:point toView:cell];
if (CGRectContainsPoint(cell.imageView1.frame, point))
{
//it touches image 1
}
else if (CGRectContainsPoint(cell.imageView2.frame, point))
{
//it touches images 2
}
}
}
}
indexPath.row に基づいて画像ビューにタグを付けると、そのタグを取得できます。これにより、データ構造へのインデックスが得られます。タップされた画像ビューを指すジェスチャ レコグナイザーのビュー プロパティからタグを取得できます。