1

ユーザーが選択する必要のある画像がいくつかあります。今、私は退屈なグリッドを備えたフラットなスクロールエリアを提供したくありません。代わりに、それらの画像を含むホイールを表示したいと思います。上部には、選択を示すマーカーがあります。ピッカーに似たもの。

問題は回転の問題ではありません。そのためにいくつかの幾何関数を使用します。しかし、実際にそのホイールでスクロールジェスチャを取得する方法がわかりません。どこから始めればいいですか?

ところで:サーキュラーとは、ピッカーのようなものを意味するものではありません。中心軸があり、転がすことができる実際のホイールを意味します。非常に古い電話のように、自転車の車輪のように。または、ピッカーを90度回転させ、軸を自分に向けます(Z座標)。

4

2 に答える 2

1

ジェスチャのキャプチャについて話している場合は、ドキュメントに示されている例を次に示します。

アラン・カニストラロが最初のCS193P講義の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.
    }
}
于 2009-05-06T18:14:19.520 に答える
0

ピッカービューにどれだけ似ていると思いますか?独自のカスタムサブビュー(画像ビューなど)を使用してピッカービューをロードできます。それはあなたにあなたの画像であなたに実際のピッカービューを与えるでしょう、それはあなたが実際に目指しているものであるかもしれないしそうでないかもしれません。

于 2009-05-06T21:38:33.740 に答える