2015-08-20 24 views
0

如何製作一個UIPanGestureRecognizer?我有多個觀點,他們每個人都有自己的UIPanGestureRecognizer。我怎麼能做到這一點,當用戶將手指放在一個手指上,並將手指在屏幕上移動時,視圖的標記正在改變,視圖也會移動,直到用戶將手指從屏幕上擡起?這有點難以解釋......我希望你能理解。謝謝您的回答。如何以編程方式在更多視圖上連接更多UIPanGestureRecognizer?

回答

1

我相信你正在試圖建立一個單一的平移手勢識別器,將與多個視圖的工作,並讓你知道哪些觀點是目前用戶手指下油鍋中。如果是這樣的話,那麼這應該有助於...

創建一個視圖來充當所有要參與泛意見的容器。

enter image description here

我已經給每個觀看它自己的顏色,使其在視覺上明顯。

enter image description here

我還添加了一個標籤,每個視圖,以顯示它的標籤。

胡克單UIPanGestureRecognizer到容器視圖和它的選擇附加到您的視圖控制器類的方法。

- (IBAction)panGestureRecognizerTriggered:(UIPanGestureRecognizer *)recognizer 
{ 
    CGPoint location = [recognizer locationInView:recognizer.view]; 

    // Find the view that is currently under the user's finger 
    for (UIView *view in recognizer.view.subviews) { 
     if (CGRectContainsPoint(view.frame, location)) { 
      NSLog(@"View %d at %@", (int)view.tag, NSStringFromCGPoint((location))); 

      // Found the view, stop searching :) 
      break; 
     } 
    } 
} 

此方法迭代附加到手勢識別器的視圖的子視圖,並確定哪個子視圖當前位於用戶手指下,打印標籤和當前位置。

誠然,這可能是不會,如果你處理大量的意見是特別有效但對於一個簡單的例子,如這一點,能夠完成任務。

+0

非常感謝您的時間和這樣的答案...現在我來試試。是的,這正是我想要得到的。我有9種觀點作爲另一種觀點的子視圖。 –

+0

很酷,在這種方法下,九個子視圖不應該在效率方面造成問題。我有興趣看到替代品:) –

+0

我無法獲得uiview的標籤,但位置可以。 –

相關問題