2011-06-24 17 views
0

イメージビューとその下にテーブルビューを持つビューがあります。画像ビューには人体の画像が含まれています。今私がしたいのは、画像を頭部、胸郭、腹腔の3つの部分に分けることです。テーブルビューには3つの行があり、それぞれ上記の本文のセクションに対応しています。これらの領域を選択またはクリックすると、テーブルの対応する行をスクロールして詳細ビューとして機能する別のビューコントローラに移動しますコントローラ。それで、私が頭を選ぶとしましょう、私は頭を詳細に説明する別のページに移動したいと思います。いずれかの行を選択すると同じ効果が得られます。イメージを複数の領域に分割する

答えて

1

イメージビューに添付されたUITapGestureRecognizerインスタンスを使用すると、簡単にこれを実行できます。まず、UIImageViewuserInteractionEnabledYESに設定する必要があります。ジェスチャ認識プログラムをアタッチした後、ジェスチャハンドラ内のその領域にタッチを解決する必要があります。

- (void)tap:(UITapGestureRecognizer *)tapGesture { 
    CGPoint locationInView = [tapGesture locationInView:tapGesture.view]; 

    /* Resolve the location here */ 
} 

解決方法は、リージョンの定義方法に基づいています。彼らはただの長方形であれば、インスタンス変数として3つのCGRectオブジェクトを宣言し、それらを適切に設定すると、このような何かを、

if (CGRectContainsPoint(headRect, locationInView)) { 
    /* It's a head, load its view controller */ 
} else if (...) { 
    .... 

をや地域はもう少し複雑であれば、UIBezierPathまたはCGPathRefを使用しています。

関連する問題