2011-07-31 134 views
1

我不知道什麼是處理這個問題的最好辦法:的UIButton類/子類拖放的iPad

我有,可以對一些目標頂部移動的應用中的一些可拖動按鈕。如果按鈕位於正確目標的頂部,假設button1位於target1的頂部,則播放器/用戶將獲得一個點。我認爲處理這個問題的最好方法是創建一個具有「標識符」屬性的Target類和一個具有「targetID」屬性的Draggable類。當Draggable對象被釋放時,我通過比較它們的屬性來檢查它是否位於正確的Target對象的頂部。

聽起來很簡單,但它沒有。我首先嚐試使Draggable成爲UIButton的一個子類。正如你可能已經知道的,這不是一個好主意,因爲當調用[UIButton buttonWithType:]時,UIButton返回一個不同類的實例,例如。 UIButtonTypeRoundedRect被返回。我不能使用一個類別,因爲我需要的是有一個額外的屬性,因爲我知道類別不能添加屬性到一個類,只有方法。由於我必須從Draggable的控制器中「聽」按鈕動作,所以組合會使一切變得非常複雜。不過,如果我沒有更聰明的選擇,我會選擇這個選擇。

我可能會監督一些非常明顯的事情,或者我可能不知道某些絕對基本的事情。在那種情況下,對不起!我的iOS知識非常基礎。

回答

2

UIButton是一種UIView,它有一個tag屬性,你可以用它來表示任何你想要的。這是一個NSInteger,但這應該可用於你想要做的事情。

+0

當然!我沒有想到它。我知道這是一個處理這個問題的優雅方法。謝謝! – strave