首页 文章

特定ViewController上的UIButton TouchUpInside事件计数[关闭]

提问于
浏览
-1

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

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

2 回答

  • 3

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

  • 0

    你需要创建一个简单的 tap counter

    首先在 Headers 中创建一个 integer 然后创建一个 IBAction ,您将每个按钮分配给它 .

    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;
    

    应该这样做!

    问候!

相关问题