2009-05-06 6 views
1

私は、ユーザーが選択しなければならないいくつかの画像を持っています。今では退屈なグリッドを持つ平坦なスクロール領域を提供するだけではありません。代わりに、私はそれらの画像を含む車輪を表示したいと思います。上部には選択を示すマーカーが表示されます。ピッカーに似た何か。循環スクロール機構を実装するにはどうすればよいですか?

問題は回転するものではありません。私は幾何学的な関数を使っています。しかし、私は実際にどのようにそのホイール上でスクロールジェスチャーを取得するか分かりません。どこから始める必要がありますか?

ところで、私はピッカーのようなものではありません。私は、中心軸を持ち、回転できる実際のホイールを意味します。バイクホイールのような非常に古い電話のように。または、ピッカーが90°回転して、軸をあなたに向ける(Z座標)。

+0

ジェスチャーをキャプチャする方法を尋ねていますか? –

+0

はい、私はその質問がそれを示唆していると思いますが、私はそれをする必要があるかどうかはわかりませんでした。 – Thanks

答えて

1

あなたがキャプチャジェスチャーについて話している場合、ここにはthe example they give in the docsがあります。

私はAlan Cannistraroが最初のCS193P lecturesの1つで、これを行う必要はないと聞きましたが、スワイプイベントを捕まえることはできますが、それを見つけることはできません。

実際に彼らが何をしているかを知っている誰かが私を修正してもらえますし、私はこの記事を削除しますが、今の私は、これは動作します知っている:

#define HORIZ_SWIPE_DRAG_MIN 12 
#define VERT_SWIPE_DRAG_MAX 4 

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    UITouch *touch = [touches anyObject]; 
    startTouchPosition = [touch locationInView:self]; 
} 

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    UITouch *touch = [touches anyObject]; 
    CGPoint currentTouchPosition = [touch locationInView:self]; 

    // If the swipe tracks correctly. 
    if (fabsf(startTouchPosition.x - currentTouchPosition.x) >= HORIZ_SWIPE_DRAG_MIN && 
     fabsf(startTouchPosition.y - currentTouchPosition.y) <= VERT_SWIPE_DRAG_MAX) 
    { 
     // It appears to be a swipe. 
     if (startTouchPosition.x < currentTouchPosition.x) 
      [self myProcessRightSwipe:touches withEvent:event]; 
     else 
      [self myProcessLeftSwipe:touches withEvent:event]; 
    } 
    else 
    { 
     // Process a non-swipe event. 
    } 
} 
0

あなたが考えているどれだけピッカービューに似て?ピッカービューには、独自のカスタムサブビュー(イメージビューなど)をロードできます。それは実際にあなたが目指しているものかもしれないし、そうでないかもしれない、あなたのイメージで実際のピッカーのビューを得るでしょう。

+1

実際にピッカーは垂直方向にスクロールしません。私は円形ホイールを実装する方法を探しています。軸を持つ自転車の車輪を想像し、すべてのスパイクに画像をぶら下げます。あなたはその車輪を回すことができます。一番上には、どれが選択されているかを示す矢印があります。古い機械式のキッチンの卵時計、またはダイヤルするためにホイールを使用する非常に古い電話機のように。 – Thanks