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
UIBezierPathの内部UIViewです。各スライスには独自のUIViewがあります。 –