2011-10-26 37 views
2

我有一個情況,我有一個UIButton類,其中選擇一個按鈕,我得到的基於它的按鈕的id我改變按鈕的顏色使用[self addTarget:self action:@selector(buttonPressed: )forControlEvents:UIControlEventTouchUpInside];如何獲取按鈕的id並同時執行touchesMoved?

而通過使用touchesBegan,touchesMoved,touchesEnded方法,我可以將按鈕對象拖放到屏幕的任何部分。

現在的問題是,如果我使用touchesBegan,touchesMoved,touchesEnded方法,那麼我沒有得到按鈕的id,所以我不能改變顏色。

那麼我怎麼能夠解決這個問題呢?

回答

1

touchesBegan的其中一個參數是一組UITouch對象。 UITouch具有屬性「視圖」,這是您點擊的視圖。因此,像

-(void)touchesBegan:touches withEvent:e 
{ 
    id* myButton = [touches anyObject].view; 
} 
0

如果你打電話給你的父視圖(包含所有的按鈕)中的touchesBegan下面的方法:它應該回到你,你是觸摸按鈕....

​​

希望這有助於。