多次点击UIButton并访问Button的不同行为

时间:2012-01-11 08:52:42

标签: ipad xcode4 uigesturerecognizer

我创建了一个多用户项目可以点击不同的按钮。

以下问题可能会相位,     我实现了 gestureRecognizer ,这是正确的工作,但如何获取用户点击的按钮来访问那些按钮事件

以下屏幕显示按钮,

enter image description here 以下是gestureRecognizer委托方法的代码,以及如何获取按钮事件以及如何管理它,

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{

    if ([touch.view isKindOfClass:[UIButton class]]) {
        NSLog(@"Button is pressed");
        if (tag == 1) {
            NSLog(@"Button1 is pressed");
        }
        return NO;
    }
    return YES;
}

按下按钮时,按照IBAction方法触摸的方法

-(IBAction)btnPress:(id)sender{
    tag=[sender tag];
    NSLog(@"%i",tag);
}

但是这里的问题是首先调用gestureRecognizer委托方法然后IBAction方法来解决这个问题,

提前感谢您花费在我的问题上的宝贵时间,

亲爱的 霓虹塞缪尔。

1 个答案:

答案 0 :(得分:1)

如果按钮是UIButton的实例,则根本不需要使用gestureRecognizer。 尝试设置addTarget:action以在用户单击UIButton时获取回调:

[button1 addTarget:self action:@selector(btnPress:)];
[button2 addTarget:self action:@selector(btnPress:)];

如果您已经为每个按钮设置了标签值,那么您的IBAction方法将正常工作。

-(IBAction)btnPress:(id)sender{
NSInteger tag=[sender tag];
NSLog(@"%d",tag);
}