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:
isEnabled
est une propriété de UIControl (super classe de UIButton) et il , a des effets visuels (c'est à dire en grisé) d'activer/désactiver-
isUserInteractionEnabled
est 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