如何在终端用户中快速获取总计应用程序中的触摸/动作次数
我想要在我的应用程序中显示所有触摸和按钮动作,以在用户界面中显示,例如用户完成的动作数量。这是一个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 {
它显示编译错误,在哪里声明? –
不好意思,请检查编辑版本。 –
@AnilkumariOSdeveloper在类外的任何文件中声明它。 –
I thi您需要使用'@ IBAction'来计算按钮触摸次数。 – 3stud1ant3
请检查更新的问题。 –
你可以在每个按钮的操作中尝试相同的代码'UtilityClass.sharedInstance.touchesCount + = 1',对吗? – 3stud1ant3