2017-10-11 6 views
0

Je veux obtenir toutes les touches et les actions de boutons comptent dans mon application pour montrer dans l'interface utilisateur comme combien d'actions faites sofar par l'utilisateur. C'est une application Swift.Comment obtenir compte nombre de touches/actions dans mon application totale par l'utilisateur final dans swift

J'ai essayé avec le code suivant:

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

Mais qu'il appelle seulement UIView petites touches événements, mais ne réclame pas UIButton actions, est-il d'autres solutions pour atteindre mon exigence.

Si son action de bouton unique, je peux appeler cet entier pour augmenter, mais, j'ai le nombre d'actions de bouton dans mon application, c'est pourquoi je poste ceci ici.

+0

I thi nk vous devrez utiliser '@ IBAction' pour compter le nombre de touches. – 3stud1ant3

+0

s'il vous plaît vérifier la question mise à jour. –

+0

Vous pouvez essayer le même code 'UtilityClass.sharedInstance.touchesCount + = 1' en action de chaque bouton, non? – 3stud1ant3

Répondre

1

Essayez ajouter à votre projet

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) 
    } 
} 

modifier:

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") 
    } 
} 

ci-dessus est mon code complet de test, j'ai un bouton de sortie qui est UIButton, chaque fois que je clique sur le bouton action, il va imprimer 1111, et si votre classe de bouton est sous-classe personnalisée de UIButton, s'il vous plaît changer extension UIButton { à extension YourCustomButtonName {

+0

Son montrant l'erreur de compilation, où est-il déclaré? –

+0

excusez-moi, s'il vous plaît vérifier la version d'édition. –

+0

@AnilkumariOSdeveloper déclarez-le dans n'importe quel fichier hors des classes. –