2009-05-06 59 views
1

我有一些圖像,用戶應該從中選擇一個圖像。現在我不想只提供一個無聊的網格平面滾動區域。相反,我想顯示一個包含這些圖像的輪子。頂部將是一個指示選擇的標記。類似於採摘者的東西。如何實現循環滾動機制?

問題不是旋轉的東西;我會爲此使用幾何幾何功能。但我不知道如何真正在那個輪子上獲得滾動手勢。我必須從哪裏開始?

順便說一句:帶圓形的我並不是指像採摘者那樣的東西。我的意思是一個真正的車輪,有一箇中心軸,可以滾動。就像老式的電話一樣,像自行車車輪。或者一個拾取器轉過90°,面向你的軸(Z座標)。

+0

你問如何捕捉手勢? – 2009-05-06 18:05:07

+0

是的,我認爲這個問題可能意味着,但我不確定是否需要這樣做。 – Thanks 2009-05-06 18:24:56

回答

1

如果你正在談論捕捉手勢,那麼這裏是the example they give in the docs

儘管我可以發誓,但我聽到Alan Cannistraro在第一個CS193P lectures中說,你不必這樣做,你可以捕捉滑動事件,但我找不到。

有人能實際知道他們在做什麼,請大家指正,我會刪除此職位,但現在我知道這將工作:

#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

究竟有多類似選擇器視圖在想什麼?您可以使用自己的自定義子視圖加載選擇器視圖,這可以是圖像視圖。這會爲你提供一個實際的選擇器視圖,包括你的圖像,這可能是也可能不是你實際想要的。