Réponses:
Appelez removeTarget: action: forControlEvents:, passez nil pour la cible, NULL pour action et utilisez un masque de contrôle qui définit tous les bits (UIControlEventAllEvents).
Objectif c
[someControl removeTarget:nil
action:NULL
forControlEvents:UIControlEventAllEvents];
Swift 2
button.removeTarget(nil, action: nil, forControlEvents: .AllEvents)
Swift 3
button.removeTarget(nil, action: nil, for: .allEvents)
Réponse de @ progrmr dans Swift 2:
button.removeTarget(nil, action: nil, forControlEvents: .AllEvents)
et Swift 3:
button.removeTarget(nil, action: nil, for: .allEvents)
Remarque: Swift ne l'a pas NULL
, j'ai donc testé le remplacer par nil
et cela semble fonctionner correctement.
removeTarget(nil, action: nil, for: .allEvents)
nil
ou NULL
à la fois les premier et deuxième arguments en Objective-C aussi, et cela fonctionnera. Je crois que les deux sont définis comme (void*) 0
(ou à tout le moins, évalués comme égaux).
Rapide:
btnCancel.removeTarget(self, action: Selector(), forControlEvents: UIControlEvents.AllEvents)
Swift 2:
actionButton.removeTarget(nil, action: nil, forControlEvents: .AllEvents)
Swift 3 & 4:
actionButton.removeTarget(nil, action: nil, for: .allEvents)
Objectif c:
[actionButton removeTarget: nil action: NULL forControlEvents: UIControlEventAllEvents];
J'espère que ça aide.
- removeTarget:action:forControlEvents:
Cette méthode arrête la remise des événements à l'objet cible spécifié.
En spécifiant un objet valide dans le paramètre cible, cette méthode arrête la livraison des événements spécifiés à toutes les méthodes d'action associées à cet objet.
Spécifiant nil pour le paramètre cible, cette méthode empêche la livraison de ces événements à toutes les méthodes d'action de tous les objets cibles
objectif c:
[_myButton removeTarget: //any validObject (or) nil
action:nil
forControlEvents:UIControlEventAllEvents];
rapide:
myButton.removeTarget(*validObject or nil*, action:nil, forControlEvents:UIControlEvents.AllEvents)
Pour plus de détails https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIControl_Class/index.html#//apple_ref/occ/instm/UIControl/removeTarget:action:forControlEvents :