特定ViewController上的UIButton TouchUpInside事件计数

时间:2013-11-22 21:41:15

标签: iphone objective-c uibutton objective-c-blocks

我在UIButtons中有10 UIViewController。我想要实现的是:当用户点击任意4个按钮(它可以是4个不同的按钮或2个按钮,但总共按4次)时,它会触发一个特定的方法。该方法应在第4次 TouchUpInside 事件被触发后立即触发,无论是否有4个不同的按钮。它应该从几个按钮计算 TouchUpInside 并触发一个方法。

任何帮助都将受到高度赞赏。谢谢!

2 个答案:

答案 0 :(得分:3)

您需要创建一个简单的点按计数器

首先在标题中创建integer,然后创建一个IBAction,您可以为每个按钮指定。{/ p>

IBAction应包含以下内容:

-(IBAction)BtnTapped:(id)sender {

    [self tappedBtn];
    [self checkNumber];
}

如果你没有使用IB,那么只需在viewDidLoad中粘贴这行代码:

[yourBtn addTarget:self action:@selector(BtnTapped:) forControlEvents:UIControlEventTouchUpInside];

以获得更高的触摸次数:

-(void)tappedEgg{
//currentValue is an int declared in the header file (look below)
    currentValue = currentValue +1;
    NSLog(@"%i",currentValue);

}

并查看数字:

-(void)checkNumber{

    if (currentValue == 4) {
        NSLog(@"Reached 4");
        //Put in your action
    }
}

#import下面的标题文件中执行:

int currentValue;

应该这样做!

问候!

答案 1 :(得分:0)

将int ivar添加到视图控制器中,并在每次点击按钮时将其增加1。此外,在点按处理程序中,检查当前计数,如果它等于4,请调用您的方法。

相关问题