如何在 swift 中按最终用户计算我的总应用程序中的触摸/操作次数



我想在我的应用程序中计算所有触摸和按钮操作,以显示在 UI 中,例如用户到目前为止完成了多少操作。这是一个Swift应用程序。

我尝试使用以下代码:

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        UtilityClass.sharedInstance.touchesCount += 1
        print(UtilityClass.sharedInstance.touchesCount)
    }

但它只调用UIView触及事件,而不调用UIButton操作,还有其他解决方案可以满足我的要求吗?

如果是它的单按钮操作,我可以调用这个整数来增加,但是,我的应用程序中有很多按钮操作,这就是我在这里发布这个的原因。

尝试将其添加到您的项目中

extension UIButton {
    open override func sendAction(_ action: Selector, to target: Any?, for event: UIEvent?) {
        super.sendAction(action, to: target, for: event)
        UtilityClass.sharedInstance.touchesCount += 1
        print(UtilityClass.sharedInstance.touchesCount)
    }
}

编辑:

class ViewController: UIViewController {
    @IBAction func buttonAction(_ sender: Any) {
    }
}
extension UIButton {
    open override func sendAction(_ action: Selector, to target: Any?, for event: UIEvent?) {
        super.sendAction(action, to: target, for: event)
        print("1111")
    }
}

以上是我的完整测试代码,我有一个UIButton的出口按钮,每次单击按钮动作时,它都会打印1111,如果您的按钮类是UIButton的自定义子类,请extension UIButton {更改为extension YourCustomButtonName {

最新更新