2011-05-20 39 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

相关问题