2011-05-20 41 views
0

後如何識別至極按下按鈕,在視圖上我想UILongPressGestureRecognizer後捕獲frame或某些禮儀(在這種情況下UIButton的框架或tag)被觸發。的UILongPressGestureRecognizer

這是我的代碼片段:

...create the uibutton (btn instance) 
//add gesture to button 
UILongPressGestureRecognizer *twoSecPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(setProductToButton:)]; 
      [twoSecPress setMinimumPressDuration:2]; 
      [btn addGestureRecognizer:twoSecPress]; 
      [twoSecPress release]; 
btn.tag=INDEX; 

,這是方法:

- (void)setProductToButton:(UILongPressGestureRecognizer *)recognizer { 
      if (recognizer.state == UIGestureRecognizerStateBegan) { 
       for (UIButton *selButt in [self.scrollView subviews]) { 
        if(selButt.selected){//THIS IS ALWAYS FALSE 
        NSLog(@"%d",selButt.tag); 
      } 
     } 
    } 
} 

看來,按鈕的狀態依然沒有改變。 有什麼建議嗎?

無論如何有一些方法來識別什麼是最後一個元素挖掘/選擇?

在此先感謝。

+1

嗨,如果我以正確的方式理解問題,則可以使用在UIButton中繼承的「UIView」類的「tag」屬性。在你的情況下,「自我」 - 對象是主視圖控制器嗎?如果是這樣,您可以定義一個屬性來存儲標籤,並將其設置爲點擊元素(Button)的標籤。如果你想獲得你的手勢識別器連接到的視圖,你可以使用處理函數的「識別器」參數,它應該有一個「視圖」屬性。 – 2011-05-20 18:11:35

回答

4

在您的setProductToButton方法中,recognizer.view屬性是被按下的按鈕。

+0

哇......太簡單了。 – Mat 2011-05-21 14:06:39

相關問題