我有一個由12個切片組成的餅圖,它們都在一個數組中。這個想法是能夠觸摸任何特定切片,在陣列內接收其正確的索引位置,並上下調整切片。我已經完成了切片的創建,以及縮放,但是選擇正確索引後的數學難倒了我。在屏幕上查找對象的數組索引
當前的代碼(slicesArray = 12)我有一個返回不正確的索引號是:
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self.view];
int index = atan2f(point.x-self.view.center.x, point.y-self.view.center.y) * self.slicesArray.count/(2*M_PI);
該圖像示出了切片,與代表正確的索引號的黑色文本,而白色文本表示上面的代碼返回什麼。
感謝您的幫助。
什麼是片的類型?你在使用ImageView嗎? – mithilesh 2012-03-28 06:32:33
它們是UIBezierPath的內部UIView的。每個切片都有它自己的UIView。 – 2012-03-28 06:35:44