2012-02-28 46 views
2

我正在寫一個簡單的紙牌遊戲,現在我想讓卡點擊它的一部分..我所有的卡都是UIView對象,並且有2個UIImageView用於顯示卡片的背面或正面。我想要處理鼠標點擊,我不知道該怎麼做。有沒有需要添加的界面?謝謝!如何處理UIView中的點擊事件

回答

6

您可以製作卡片按鈕(可能不是最佳解決方案)並處理代碼中的按鈕事件。你可以在你的卡片或你的超級視圖上使用手勢識別器。您可以將每張卡片製作UIView的一個子類,並覆蓋處理觸摸事件的方法。

或者你可以變得非常棘手,使卡CALayer s,並只處理你的父視圖中的UIResponder事件。當用戶玩你的遊戲時,這最後一個建議可能會讓你在動畫中獲得最大的靈活性。

無論如何,我認爲UIResponder方法是你所追求的。 UIView是UIResponder的子類,所以你必須在你定義的一些子類中實現它們。

+0

謝謝,現在對我來說這是最好的解決方案,因爲我想讓用戶點擊時卡片移動爲動畫。 – haxpanel 2012-03-01 10:44:45

1

而不是使用UIImageView顯示卡,考慮使用UIButtons(與「自定義」的按鈕類型,所以看到的唯一邊界是圖像的邊界)。然後,您可以將卡片圖像設置爲這些按鈕的圖像。

3

你看過UIGestureRecognizer課嗎?將函數調用鏈接到某種交互是很好的。有不同類型的手勢,水龍頭,滑動,平底鍋。這聽起來像點擊手勢可能會幫助你每次刷卡時都改變UIImageView。

1

只需在圖像下設置自定義按鈕即可。那麼你只需要使圖像不可觸摸。這樣你用你的按鈕連接的方法將在touchevents上執行。

2

@Convolution是正確的:使用UITapGestureRecognizer識別沒有點擊事件的對象的選項卡。這是最簡單和最乾淨的解決方案。

爲了識別點擊而創建子類只有在您創建自定義對象時纔會有回報,您將在很多時間重複使用自定義對象。