Désactiver un bouton
Je veux désactiver un bouton (UIButton) sur iOS après avoir cliqué dessus. Je suis nouveau dans le développement pour iOS mais je pense que le code équivalent sur objective - C est le suivant:
button.enabled = NO;
Mais je ne pouvais pas faire ça sur swift.
6 réponses
Si vous voulez que le bouton reste statique sans l'apparence "pressée":
// Swift 2
editButton.userInteractionEnabled = false
// Swift 3
editButton.isUserInteractionEnabled = false
Rappelez-vous:
1 IBOutlet est --> @IBOutlet weak var editButton: UIButton!
2) le Code ci-dessus va dans viewWillAppear
La façon dont je fais cela est la suivante:
@IBAction func pressButton(sender: AnyObject) {
var disableMyButton = sender as? UIButton
disableMyButton.enabled = false
}
L'IBAction est connecté à votre bouton dans le storyboard.
Si vous avez votre bouton configuré comme une prise:
@IBOutlet weak var myButton: UIButton!
Ensuite, vous pouvez accéder aux propriétés activées en utilisant le . notation sur le nom du bouton:
myButton.enabled = false
Désactiver un bouton sur Swift 3:
yourButton.isEnabled = false
Le bouton peut être désactivé dans Swift 4 par le code
@IBAction func yourButtonMethodname(sender: AnyObject) {
yourButton.isEnabled = false
}
Vous pouvez activer / désactiver un bouton en utilisant la propriété isEnabled ou isUserInteractionEnabled.
La différence entre deux est:
isEnabledest une propriété de UIControl (super classe de UIButton) et il , a des effets visuels (c'est à dire en grisé) d'activer/désactiver-
isUserInteractionEnabledest une propriété de UIView (super classe de UIControl) et n'a aucun effet visuel mais atteint le but
Utilisation :
myButton.isEnabled = false // Recommended approach
myButton.isUserInteractionEnabled = false // Alternative approach