2017-10-11 99 views
0

我想要在我的應用程序中顯示所有觸摸和按鈕動作,以在用戶界面中顯示,例如用戶完成的動作數量。這是一個Swift應用程序。如何在終端用戶中快速獲取總計應用程序中的觸摸/動作次數

我試着用下面的代碼:

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

但它僅調用UIView觸摸事件,但不要求UIButton行動,有沒有其他的解決方案,以達到我的要求。

如果它的單個按鈕動作,我可以調用這個整數來增加,但是,我的應用程序中有一些按鈕動作,這就是爲什麼我在這裏發佈這個。

+0

I thi您需要使用'@ IBAction'來計算按鈕觸摸次數。 – 3stud1ant3

+0

請檢查更新的問題。 –

+0

你可以在每個按鈕的操作中嘗試相同的代碼'UtilityClass.sharedInstance.touchesCount + = 1',對嗎? – 3stud1ant3

回答

1

嘗試添加到您的項目

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 {

+0

它顯示編譯錯誤,在哪裏聲明? –

+0

不好意思,請檢查編輯版本。 –

+0

@AnilkumariOSdeveloper在類外的任何文件中聲明它。 –

相關問題