0

行ごとに 2 つの画像を持つ UITableView があります。これらの画像は、データ構造から取得されます。タップ イベントを設定し、選択した画像に基づいてタップ イベント ハンドラにデータ構造を取得させたいと考えています。コンテキスト データを関連付ける方法はありますか?

または、uiimage をデータにマップするマッピングを維持する必要がありますか?

また、画像ごとに個別のハンドラーを持ちたくありません。

4

2 に答える 2

2

タップ ジェスチャを使用すると、次のような実装が可能です。

- (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
            }
        }
    }

}
于 2013-09-13T21:31:20.930 に答える
0

indexPath.row に基づいて画像ビューにタグを付けると、そのタグを取得できます。これにより、データ構造へのインデックスが得られます。タップされた画像ビューを指すジェスチャ レコグナイザーのビュー プロパティからタグを取得できます。

于 2013-09-13T21:25:25.323 に答える