2011-06-24 114 views
0

我有一個視圖,它下面有一個imageview和一個tableview。 imageview包含人體圖像。現在我想做的是將圖像分成三部分:頭部,胸部和腹腔。 tableview也有三行,每一行對應於上面提到的正文部分。當我選擇或點擊這些區域中的任何一個時,我想滾動表格的相應行並導航到另一個viewcontroller,它將作爲一個詳細視圖控制器。所以我們說我選擇頭部,我想導航到另一個詳細解釋頭部的頁面。當我選擇任何行時,我會得到相同的效果。將圖像分成區域

回答

1

您可以使用連接到圖像視圖的UITapGestureRecognizer實例輕鬆完成此操作。首先,您必須將UIImageViewuserInteractionEnabled設置爲YES。附加手勢識別器後,您應該解決手勢處理程序中觸摸其區域的問題。

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

    /* Resolve the location here */ 
} 

現在分辨率是基於您如何定義區域。如果他們只是矩形,聲明三個CGRect對象作爲實例變量並相應地設置他們,做這樣的事情,

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

或者,如果區域是一個比較複雜一點,使用UIBezierPathCGPathRef